Ich versuchte df.orderBy("col1").show(10)
, aber es in aufsteigender Reihenfolge sortiert. df.sort("col1").show(10)
sortiert auch in absteigender Reihenfolge. Ich schaute auf Stackoverflow und die Antworten, die ich fand, waren alle veraltet oder referred to RDDs. Ich möchte den nativen Dataframe in Spark verwenden.Wie nach Spalte in absteigender Reihenfolge in Spark SQL zu sortieren?
Antwort
Es ist in org.apache.spark.sql.DataFrame
für sort
Methode:
df.sort($"col1", $"col2".desc)
Hinweis $
und .desc
innerhalb sort
für die Säule durch die Ergebnisse sortiert werden.
'import org.apache.spark.sql.functions._' und' import sqlContext.implicits._' erhalten Sie auch eine Menge nette Funktionalität. –
Link zeigt auf 404 – jangorecki
@Vedom: Zeigt einen Syntaxfehler: 'df.sort ($" Time1 ", $" Time2 ".desc) SyntaxError: ungültige Syntax' am $ -Symbol – kaks
Sie auch die Spalte durch den Import der Funken SQL-Funktionen
import org.apache.spark.sql.functions._
df.orderBy(asc("col1"))
Oder
import org.apache.spark.sql.functions._
df.sort(desc("col1"))
Import sqlContext.implicits._
import sqlContext.implicits._
df.orderBy($"col1".desc)
Oder
sortierenimport sqlContext.implicits._
df.sort($"col1".desc)
df.sort ($ "Spaltenname" .Desc) .show()
Der einfachste Weg ist, einfach die aufsteigende = False Parameter hinzu:
df.orderBy("col1", ascending=False).show(10)
Referenz: http://spark.apache.org/docs/2.1.0/api/python/pyspark.sql.html#pyspark.sql.DataFrame.orderBy
Er meint "df.sort (" col1 "). Show (10) sortiert auch in aufsteigender Reihenfolge" –