溫馨提示×

spark sortby在Spark SQL中如何使用

小樊
110
2024-12-13 19:16:29
欄目: 云計算

在 Spark SQL 中,您可以使用 orderBysort_by 函數對 DataFrame 進行排序

首先,我們需要創建一個 DataFrame。以下是一個簡單的示例:

from pyspark.sql import SparkSession
from pyspark.sql.functions import col

spark = SparkSession.builder \
    .appName("Spark SQL SortBy Example") \
    .getOrCreate()

data = [("Alice", 34), ("Bob", 45), ("Cathy", 29), ("David", 31)]
columns = ["Name", "Age"]

df = spark.createDataFrame(data, columns)
df.show()

這將創建一個如下所示的 DataFrame:

+-----+---+
| Name|Age|
+-----+---+
|Alice| 34|
|  Bob| 45|
|Cathy| 29|
|David| 31|
+-----+---+

現在,我們將使用 orderBysort_by 函數對 DataFrame 進行排序。

  1. 使用 orderBy 函數:
sorted_df = df.orderBy(col("Age").desc())
sorted_df.show()

這將按年齡降序排列 DataFrame:

+-----+---+
| Name|Age|
+-----+---+
|  Bob| 45|
|David| 31|
|Alice| 34|
|Cathy| 29|
+-----+---+
  1. 使用 sort_by 函數:
from pyspark.sql.functions import desc

sorted_df = df.sort_by(desc("Age"))
sorted_df.show()

這也將按年齡降序排列 DataFrame:

+-----+---+
| Name|Age|
+-----+---+
|  Bob| 45|
|David| 31|
|Alice| 34|
|Cathy| 29|
+-----+---+

注意:orderBysort_by 函數在功能上相似,但它們之間存在一些差異。orderBy 是針對單個列進行排序,而 sort_by 可以針對多個列進行排序。此外,sort_by 允許您使用復雜的表達式進行排序,而 orderBy 只支持簡單的列引用。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女