spark

spark pivot如何进行数据聚合

小樊
81
2024-12-14 14:31:07
栏目: 大数据

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。然后,我们使用 groupBypivot 函数对数据进行聚合。最后,我们使用 show 函数显示结果。

输出结果如下:

+------+---+---+---+
|Category|  1|  2|  3|
+------+---+---+---+
|       A|  1|  2|  0|
|       B|  3|  0|  4|
|       C|  0|  0|  5|
+------+---+---+---+

在这个示例中,我们将 Value 列的值作为新的列,并将 Category 列的值作为行索引。然后,我们使用 sum 函数对这些新列进行聚合。你可以根据需要使用其他聚合函数,如 meancount 等。

0
看了该问题的人还看了