阅读量:5
在 Spark SQL 中,您可以使用 orderBy 或 sort_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|
+-----+---+
现在,我们将使用 orderBy 和 sort_by 函数对 DataFrame 进行排序。
- 使用
orderBy函数:
sorted_df = df.orderBy(col("Age").desc())
sorted_df.show()
这将按年龄降序排列 DataFrame:
+-----+---+
| Name|Age|
+-----+---+
| Bob| 45|
|David| 31|
|Alice| 34|
|Cathy| 29|
+-----+---+
- 使用
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|
+-----+---+
注意:orderBy 和 sort_by 函数在功能上相似,但它们之间存在一些差异。orderBy 是针对单个列进行排序,而 sort_by 可以针对多个列进行排序。此外,sort_by 允许您使用复杂的表达式进行排序,而 orderBy 只支持简单的列引用。
以上就是关于“spark sortby在Spark SQL中如何使用”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm