Ich habe es versucht, df.orderBy("col1").show(10)
aber es wurde in aufsteigender Reihenfolge sortiert. df.sort("col1").show(10)
sortiert auch in absteigender Reihenfolge. Ich habe mir den Stackoverflow angesehen und die Antworten, die ich gefunden habe, waren alle veraltet oder bezogen sich auf RDDs . Ich möchte den nativen Datenrahmen in Spark verwenden.
scala
apache-spark
apache-spark-sql
Freiheit
quelle
quelle
Antworten:
Sie können die Spalte auch sortieren, indem Sie die Spark-SQL-Funktionen importieren
Oder
Importieren von sqlContext.implicits._
Oder
quelle
asc
Schlüsselwort nicht erforderlich :..orderBy("col1", "col2")
.Es ist in
org.apache.spark.sql.DataFrame
fürsort
Methode:Beachten Sie
$
und.desc
innerhalbsort
der Spalte, nach der die Ergebnisse sortiert werden sollen.quelle
import org.apache.spark.sql.functions._
undimport sqlContext.implicits._
Sie erhalten auch viele nette Funktionen.df.sort($"Time1", $"Time2".desc) SyntaxError: invalid syntax
am $ SymbolNur PySpark
Ich bin auf diesen Beitrag gestoßen, als ich versucht habe, dasselbe in PySpark zu tun. Am einfachsten ist es, einfach den Parameter ascending = False hinzuzufügen:
Referenz: http://spark.apache.org/docs/2.1.0/api/python/pyspark.sql.html#pyspark.sql.DataFrame.orderBy
quelle
quelle
quelle
Im Fall von Java:
Wenn wir
DataFrames
beim Anwenden von Joins (hier Inner Join) verwenden, können wir (in ASC) sortieren, nachdem wir in jedem DF unterschiedliche Elemente ausgewählt haben:Wo
e_id
ist die Spalte, auf die der Join angewendet wird, während er nach Gehalt in ASC sortiert ist?Wir können Spark SQL auch verwenden als:
wo
quelle