溫馨提示×

spark limg如何進行數據聚合

小樊
91
2024-12-13 04:21:12
欄目: 大數據

在Spark中,可以使用groupByagg函數進行數據聚合。以下是一些常見的聚合操作:

  1. COUNT:計算每個分組中的行數。
from pyspark.sql.functions import count

# 假設有一個名為df的DataFrame,其中有一個名為"column_name"的列
aggregated_df = df.groupBy("column_name").agg(count("*"))
  1. SUM:計算每個分組中的列值之和。
from pyspark.sql.functions import sum

# 假設有一個名為df的DataFrame,其中有一個名為"column_name"的列
aggregated_df = df.groupBy("column_name").agg(sum("column_name"))
  1. AVG:計算每個分組中的列值平均值。
from pyspark.sql.functions import avg

# 假設有一個名為df的DataFrame,其中有一個名為"column_name"的列
aggregated_df = df.groupBy("column_name").agg(avg("column_name"))
  1. MAX:計算每個分組中的列值最大值。
from pyspark.sql.functions import max

# 假設有一個名為df的DataFrame,其中有一個名為"column_name"的列
aggregated_df = df.groupBy("column_name").agg(max("column_name"))
  1. MIN:計算每個分組中的列值最小值。
from pyspark.sql.functions import min

# 假設有一個名為df的DataFrame,其中有一個名為"column_name"的列
aggregated_df = df.groupBy("column_name").agg(min("column_name"))
  1. COUNT DISTINCT:計算每個分組中不同列值的數量。
from pyspark.sql.functions import countDistinct

# 假設有一個名為df的DataFrame,其中有一個名為"column_name"的列
aggregated_df = df.groupBy("column_name").agg(countDistinct("column_name"))

這些示例僅展示了基本的聚合操作。你還可以使用agg函數與多個聚合函數一起使用,例如:

from pyspark.sql.functions import sum, avg, count

# 假設有一個名為df的DataFrame,其中有一個名為"column_name"的列
aggregated_df = df.groupBy("column_name").agg(
    sum("column_name"),
    avg("column_name"),
    count("*")
)

此外,你還可以使用groupBy函數的多個參數進行更復雜的聚合操作,例如:

# 假設有一個名為df的DataFrame,其中有兩個名為"column1"和"column2"的列
aggregated_df = df.groupBy("column1", "column2").agg(
    sum("column_name"),
    avg("column_name"),
    count("*")
)

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