Lo intenté df.orderBy("col1").show(10)pero se ordenó en orden ascendente. df.sort("col1").show(10)También se ordena en orden descendente. Miré en stackoverflow y las respuestas que encontré estaban todas desactualizadas o referidas a RDD . Me gustaría usar el marco de datos nativo en spark.
137

Respuestas:
También puede ordenar la columna importando las funciones de spark sql
O
importando sqlContext.implicits._
O
fuente
ascpalabra clave no es necesario:..orderBy("col1", "col2").Está en
org.apache.spark.sql.DataFramedesortmétodo:Nota
$y.descdentrosortde la columna para ordenar los resultados.fuente
import org.apache.spark.sql.functions._yimport sqlContext.implicits._también te ofrece mucha funcionalidad agradable.df.sort($"Time1", $"Time2".desc) SyntaxError: invalid syntaxen el símbolo $Solo PySpark
Encontré esta publicación cuando buscaba hacer lo mismo en PySpark. La forma más fácil es simplemente agregar el parámetro ascendente = Falso:
Referencia: http://spark.apache.org/docs/2.1.0/api/python/pyspark.sql.html#pyspark.sql.DataFrame.orderBy
fuente
fuente
fuente
En el caso de Java:
Si usamos
DataFrames, al aplicar combinaciones (aquí combinación interna), podemos ordenar (en ASC) después de seleccionar elementos distintos en cada DF como:dónde
e_idestá la columna en la que se aplica la unión mientras se ordena por salario en ASC.Además, podemos usar Spark SQL como:
dónde
fuente