Apache Spark 是一个用于大规模数据处理的开源分布式计算系统
以下是一个使用 PySpark 进行 pivot 数据聚合的示例:
from pyspark.sql import SparkSession
from pyspark.sql.functions import sum, mean, count
# 创建 Spark 会话
spark = SparkSession.builder \
.appName("Pivot Example") \
.getOrCreate()
# 创建一个简单的 DataFrame 示例
data = [("A", 1), ("A", 2), ("B", 3), ("B", 4), ("C", 5)]
columns = ["Category", "Value"]
df = spark.createDataFrame(data, columns)
# 使用 pivot 进行数据聚合
pivot_df = df.groupBy("Category").pivot("Value").sum()
# 显示结果
pivot_df.show()
在这个示例中,我们首先创建了一个包含 Category 和 Value 列的简单 DataFrame。然后,我们使用 groupBy
和 pivot
函数对数据进行聚合。最后,我们使用 show
函数显示结果。
输出结果如下:
+------+---+---+---+
|Category| 1| 2| 3|
+------+---+---+---+
| A| 1| 2| 0|
| B| 3| 0| 4|
| C| 0| 0| 5|
+------+---+---+---+
在这个示例中,我们将 Value 列的值作为新的列,并将 Category 列的值作为行索引。然后,我们使用 sum
函数对这些新列进行聚合。你可以根据需要使用其他聚合函数,如 mean
、count
等。