精简版
0
0
0
云栖社区 > 阿里云 E-MapReduce(EMR)> 博客 > 正文
EMR 2019-07-05 11:17:37 浏览 374
安全与风控
编程语言
系统研发与运维
大数据
性能优化
性能
- runtime
- spark
- EMR
存储
安全问道
展开阅读全文
作者: 宋军, 花名嵩林, 阿里云 EMR 技术专家. 从事 Spark 内核优化, 对 SparkCore/SprakSQL 有深入了解, Spark Contributor
背景
Join 是一个非常耗费资源耗费时间的操作, 特别是数据量很大的情况下. 一般流程上会涉及底层表的扫描 / shuffle/Join 等过程, 如果我们能够尽可能的在靠近源头上减少参与计算的数据, 一方面可以提高查询性能, 另一方面也可以减少资源的消耗 (网络 / IO/CPU 等), 在同样的资源的情况下可以支撑更多的查询.
目前在 SparkSQL 中有 Filter 下推优化, 包括两个维度:
生成 Filter
SparkSQL 会从用户的 SQL 语句中获取到 Filter
直接显示获取
生成 Filter(a=1) on A
隐式推断
推断出 Filter(b=1) on B
Filter 优化
利用生成的 Filter 算子可以优化, 比
来源: https://yq.aliyun.com/articles/707779