本文介绍如何使用Databricks Delta进行Spark作业的优化。
前提条件
集群应满足以下配置:
区域 | 详情 |
---|---|
地域(Region) | 华北2(北京) |
集群规模 | 1个Master节点,5个Worker节点 |
ECS实例配置 | 配置如下:
说明 ECS实例会因库存等原因和实际售卖页有出入。此处参数仅供参考,具体请您根据实际情况选择相应的实例规格进行测试。
|
OSS宽带 | 10Gbps |
背景信息
Databricks数据洞察内置了Databricks商业版引擎,您可以利用Databricks数据洞察创建集群,实现在秒级响应时间内处理PB级别的数据。本文示例制造100亿条数据,利用Databricks Delta的Data Skipping和ZOEDER Clustering特性,对Spark作业进行改造,达到优化性能的目的。Databricks Delta详情请参见Processing Petabytes of Data in Seconds with Databricks Delta。
配置Spark
示例
测试结论
本示例各表情况如下。
表名称 | 时间(s) |
---|---|
conn_random_parquet | 2504 |
conn_random | 2324 |
conn_optimize | 112 |
conn_zorder | 65 |
conn_zorder_only_ip | 46 |
说明 通过以上示例,可以发现:
- 经过OPTIMIZE的表,文件大小会在1G左右,而且进行了delta元数据的优化,提高了data-skipping的效率,在性能上提升约20倍(2504/112=22X)。
- Zorder使得data-skipping的优化效果进一步深化,性能提升约40倍(2504/65=38X)。
- 当Zorder列是查询列时,优化效果会更加明显,实验显示性能提升约50倍(2504/46=54X)。
问题反馈
您在使用阿里云Databricks数据洞察过程中有任何疑问,欢迎用钉钉扫描下面的二维码加入钉钉群进行反馈。

在文档使用中是否遇到以下问题
更多建议
匿名提交