Spark Whole Stage Codegen 解析

Spark Whole Stage Codegen 解析

一、基于规则优化

1.谓词下推

2.列裁剪

3.常量折叠

二、基于代价优化

1.统计收集信息:Statistics Collection Framework

表级 字段级 统计信息:Table/Column Level Statistics Collected

表级统计:

ANALYZE TABLE table-name COMPUTE STATISTICS
统计维度:
– 行数:Number of rows
– 表存储容量:Table size in bytes
统计结果示例:

字段级别统计:

ANALYZE TABLE table-name COMPUTE STATISTICS FOR COLUMNS column-name1, column-name2, ....

统计信息:
1)Numeric/Date/Timestamp type 字符型/时间类型
✓ Distinct count
✓ MaxMinNull count
✓ Average length (fixed length) ✓ Max length (fixed length)

2String/Binary type 字符串/二进制类型
✓ Distinct count 
✓ Null count
✓ Average length 
✓ Max length

统计结果示例:

– Cardinality Estimation (Filters, Joins, Aggregates etc.)

2.代价优化• Cost-based Optimizations – Build Side Selection

– Multi-way Join Re-ordering

3.代价优化如何发挥作用!

例如:
A表 join B表 根据统计信息
A表col1 字段 和 B字段col2统计信息
col1的最小值 > B字段col2的最大值
那么join时不会有结果。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值