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
asc
palabra clave no es necesario:..orderBy("col1", "col2")
.Está en
org.apache.spark.sql.DataFrame
desort
método:Nota
$
y.desc
dentrosort
de 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 syntax
en 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_id
está 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