数据聚合

使用 Microsoft Fabric 进行数据转换与分析

Luis Silva

Solution Architect - Data & AI

何时需要聚合数据?

  • 通过聚合函数汇总数据集,减少行数。
    • 计数
    • 求和
    • 求平均
    • 最大值
    • 最小值
使用 Microsoft Fabric 进行数据转换与分析

何时需要聚合数据?

  • 通过聚合函数汇总数据集,减少行数。
    • 计数
    • 求和
    • 求平均
    • 最大值
    • 最小值

按州汇总的销售订单表,新表包含每州订单总数和销售总额

使用 Microsoft Fabric 进行数据转换与分析

实现数据聚合的工具

 

 

三个工具的图标:SQL、Spark 和 Dataflows

使用 Microsoft Fabric 进行数据转换与分析

用 SQL 聚合数据

  • 常用 SQL 聚合函数:
    • SUM()
    • COUNT()
    • AVG()
    • MIN()
    • MAX()
  • 通常与 GROUP BY 搭配使用
  • 统计函数
    • STDEV()
    • VAR()
SELECT
  <unaggregated columns>,
  function(<aggregated column>)
FROM 
  <table>
GROUP BY 
  <unaggregated columns>;
使用 Microsoft Fabric 进行数据转换与分析

用 SQL 聚合数据

SELECT 
  [State], 
  COUNT([Order_ID]) AS [Num Orders], 
  SUM([Order_Amount]) AS [Total Amount]
FROM 
  [tbl_Orders]
GROUP BY 
  [State]

按州汇总的销售订单表,新表包含每州订单总数和销售总额

使用 Microsoft Fabric 进行数据转换与分析

用 Spark 聚合数据

  • 常用 PySpark 聚合函数:
    • sum()
    • count()
    • avg()
    • min()max()
    • first()last()
  • 统计函数
    • stdev()
    • variance()
  • groupBy()agg() 搭配使用
df.groupBy(<unaggregated columns>)
.agg(function(<aggregated column>))

使用 Microsoft Fabric 进行数据转换与分析

用 Spark 聚合数据

按州汇总的销售订单表,新表包含每州订单总数和销售总额

from pyspark.sql.functions import sum

df.groupBy("state").agg(count("order_id"), sum("order_amount")).show()
使用 Microsoft Fabric 进行数据转换与分析

用 Spark 聚合数据

  • 必须从 pyspark.sql.functions 导入聚合函数,可在代码开头添加导入语句。
#----- 仅导入所需函数:
from pyspark.sql.functions import sum, avg, count, min, max

#----- 导入所有 SQL 函数:
from pyspark.sql.functions import * 

#----- 以别名导入所有 SQL 函数:
import pyspark.sql.functions as F
# 调用 sum:F.sum()
使用 Microsoft Fabric 进行数据转换与分析

用 Dataflows 聚合数据

  • "按组汇总"转换
    • Sum
    • Average
    • Median
    • Min
    • Max
    • Percentile
    • Count rows

Dataflows 中"按组汇总"对话框的截图

使用 Microsoft Fabric 进行数据转换与分析

用 Dataflows 聚合数据

Dataflow 中"按组汇总"对话框截图:按州分组,并进行两项聚合:行计数与订单金额求和

按州汇总的销售订单表,新表包含每州订单总数和销售总额

使用 Microsoft Fabric 进行数据转换与分析

Passons à la pratique !

使用 Microsoft Fabric 进行数据转换与分析

Preparing Video For Download...