Eu tentei, df.orderBy("col1").show(10)
mas classificou em ordem crescente. df.sort("col1").show(10)
também classifica em ordem decrescente. Eu olhei no stackoverflow e as respostas que encontrei estavam desatualizadas ou se referiam a RDDs . Eu gostaria de usar o dataframe nativo no spark.
137
Respostas:
Você também pode classificar a coluna importando as funções spark sql
Ou
importando sqlContext.implicits._
Ou
fonte
asc
palavra-chave não é necessário:..orderBy("col1", "col2")
.É
org.apache.spark.sql.DataFrame
para osort
método:Observe
$
e.desc
dentrosort
da coluna para classificar os resultados.fonte
import org.apache.spark.sql.functions._
eimport sqlContext.implicits._
também oferece muitas funcionalidades interessantes.df.sort($"Time1", $"Time2".desc) SyntaxError: invalid syntax
no símbolo $Apenas PySpark
Me deparei com este post ao tentar fazer o mesmo no PySpark. A maneira mais fácil é adicionar o parâmetro ascending = False:
Referência: http://spark.apache.org/docs/2.1.0/api/python/pyspark.sql.html#pyspark.sql.DataFrame.orderBy
fonte
fonte
fonte
No caso de Java:
Se usarmos
DataFrames
, ao aplicar junções (aqui Junção interna), podemos classificar (no ASC) após selecionar elementos distintos em cada DF como:onde
e_id
é a coluna na qual a junção é aplicada enquanto classificada por salário no ASC.Além disso, podemos usar o Spark SQL como:
Onde
fonte