带你读《2022技术人的百宝黑皮书》——ODPS SQL优化总结(9)

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 带你读《2022技术人的百宝黑皮书》——ODPS SQL优化总结(9)

带你读《2022技术人的百宝黑皮书》——ODPS SQL优化总结(8) https://developer.aliyun.com/article/1247141?groupCode=taobaotech



解决步骤


参数调优:增加map、reduce个数,执行效率没有明显的提升。


分桶:测试使用hash clustering解决group/join缓慢的问题。


1、创建测试表
create table tmp_zhangtao_test_hash_range like dws_tm_brd_pwr_deep_brd_usr_cat_1d LIFECY
CLE 2;
2、查看测试表结构
desc mkt.tmp_zhangtao_test_hash_range;
3、修改测试表支持桶;测试时发现user_id倾斜情况不太严重
ALTER TABLE tmp_zhangtao_test_hash_range CLUSTERED BY (user_id)
SORTED by ( user_id) INTO 1024 BUCKETS;
4、插入数据,这里发现多了一个1024个任务的reduce。
insert OVERWRITE table mkt.tmp_zhangtao_test_hash_range partition(ds,cate_flag)
SELECT
 brand_id,
 cate_id,
 user_id,
 shop_type,
 deep_score,
 brd_ord_amt,
 discovery_score,
 engagement_score,
 enthusiasm_score,
 itm_sty_tme,
 itm_vst_cnt,
 liv_sty_tme,
 liv_vst_cnt,
 vdo_sty_tme,
 vdo_vst_cnt,
 img_txt_sty_tme,
 img_txt_vst_cnt,
 col_cnt_ufm,
 crt_cnt_ufm,
 sch_cnt_ufm,
 mkt_iat_cnt,
 fan_flw_cnt,
 fst_itm_sty_tme,
 fst_itm_vst_cnt,
 col_cnt_fm,
 crt_cnt_fm,
 sch_cnt_fm,
 shr_cnt,
 cmt_cnt,
 pvt_iat_cnt,
 ds,
 cate_flag
 FROM dws_tm_brd_pwr_deep_brd_usr_cat_1d
 WHERE ds = TO_CHAR(DATEADD(TO_DATE('${bizdate}', 'yyyymmdd'), -89, 'dd'), 'yyyymmdd');
 5、查询数据性能比对
SELECT cate_id
 ,shop_type
 ,user_id
 ,SUM(deep_score) AS deep_score
 ,SUM(brd_ord_amt) AS brd_ord_amt
 ,SUM(discovery_score) AS discovery_score
 ,SUM(engagement_score) AS engagement_score
 ,SUM(enthusiasm_score) AS enthusiasm_score
 ,SUM(itm_sty_tme) AS itm_sty_tme
 ,SUM(itm_vst_cnt) AS itm_vst_cnt
 ,SUM(liv_sty_tme) AS liv_sty_tme
 ,SUM(liv_vst_cnt) AS liv_vst_cnt
 ,SUM(vdo_sty_tme) AS vdo_sty_tme
 ,SUM(vdo_vst_cnt) AS vdo_vst_cnt
 ,SUM(img_txt_sty_tme) AS img_txt_sty_tme
 ,SUM(img_txt_vst_cnt) AS img_txt_vst_cnt
 ,SUM(col_cnt_ufm) AS col_cnt_ufm
 ,SUM(crt_cnt_ufm) AS crt_cnt_ufm
 ,SUM(sch_cnt_ufm) AS sch_cnt_ufm
 ,SUM(mkt_iat_cnt) AS mkt_iat_cnt
 ,SUM(fan_flw_cnt) AS fan_flw_cnt
 ,SUM(fst_itm_sty_tme) AS fst_itm_sty_tme
 ,SUM(fst_itm_vst_cnt) AS fst_itm_vst_cnt
 ,SUM(col_cnt_fm) AS col_cnt_fm
 ,SUM(crt_cnt_fm) AS crt_cnt_fm
 ,SUM(sch_cnt_fm) AS sch_cnt_fm
 ,SUM(shr_cnt) AS shr_cnt
 ,SUM(cmt_cnt) AS cmt_cnt
 ,SUM(pvt_iat_cnt) AS pvt_iat_cnt
 FROM dws_tm_brd_pwr_deep_usr_cat_1d/tmp_zhangtao_test_hash_range
 WHERE ds = TO_CHAR(DATEADD(TO_DATE('${bizdate}', 'yyyymmdd'), -89, 'dd'), 'yyyymmdd')
 AND cate_flag = '1'
 GROUP BY cate_id
 ,shop_type
 ,user_id


查询结果:


使用hash clustering ,map数和桶个数相同。

Summary: resource cost: cpu 0.34 Core * Min, memory 0.61 GB * Min


不使用hash clustering:

resource cost: cpu 175.85 Core * Min, memory 324.24 GB * Min




带你读《2022技术人的百宝黑皮书》——ODPS SQL优化总结(10) https://developer.aliyun.com/article/1247139?groupCode=taobaotech

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
2天前
|
SQL 缓存 测试技术
DeepMind的新论文,长上下文的大语言模型能否取代RAG或者SQL这样的传统技术呢?
DeepMind的LOFT基准测试挑战了长上下文大型语言模型(LCLLMs)的效用,包括Gemini、GPT-4o和Claude 3 Opus。
12 1
|
2天前
|
分布式计算 Hadoop Java
优化大数据处理:Java与Hadoop生态系统集成
优化大数据处理:Java与Hadoop生态系统集成
|
7天前
|
SQL 大数据
常见大数据面试SQL-每年总成绩都有所提升的学生
一张学生成绩表(student_scores),有year-学年,subject-课程,student-学生,score-分数这四个字段,请完成如下问题: 问题1:每年每门学科排名第一的学生 问题2:每年总成绩都有所提升的学生
|
5天前
|
SQL 存储 数据库
sql优化提速整理
sql优化提速整理
|
5天前
|
SQL 存储 数据库
技术好文:SQL查询语句基本练习
技术好文:SQL查询语句基本练习
|
5天前
|
SQL Oracle 关系型数据库
技术经验解读:【读书笔记】SQL语言基础
技术经验解读:【读书笔记】SQL语言基础
|
5天前
|
SQL 存储 关系型数据库
技术笔记:MYSQL常用基本SQL语句总结
技术笔记:MYSQL常用基本SQL语句总结
12 0
|
6天前
|
SQL 存储 关系型数据库
Mysql-事务-锁-索引-sql优化-隔离级别
Mysql-事务-锁-索引-sql优化-隔离级别
|
7天前
|
存储 数据采集 分布式计算
利用大数据技术优化电商返利系统的效率
利用大数据技术优化电商返利系统的效率
|
8天前
|
存储 大数据 物联网
合作加速创新:TDengine 助力精诚瑞宝优化大数据处理
精诚瑞宝,台湾信息服务巨头,与高性能时序数据库TDengine合作,应对数据洪流挑战。TDengine以其卓越的读写速度、压缩及聚合查询能力,助力企业如狮桥集团降低存储成本、简化集群,实现降本增效。双方将持续深化合作,驱动企业数字化转型。涛思数据,TDengine的研发者,专注于时序大数据处理,提供高效解决方案。
11 0