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

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*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

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
8天前
|
SQL Oracle 数据库
使用访问指导(SQL Access Advisor)优化数据库业务负载
本文介绍了Oracle的SQL访问指导(SQL Access Advisor)的应用场景及其使用方法。访问指导通过分析给定的工作负载,提供索引、物化视图和分区等方面的优化建议,帮助DBA提升数据库性能。具体步骤包括创建访问指导任务、创建工作负载、连接工作负载至访问指导、设置任务参数、运行访问指导、查看和应用优化建议。访问指导不仅针对单条SQL语句,还能综合考虑多条SQL语句的优化效果,为DBA提供全面的决策支持。
31 11
|
29天前
|
SQL 算法 大数据
为什么大数据平台会回归SQL
在大数据领域,尽管非结构化数据占据了大数据平台80%以上的存储空间,结构化数据分析依然是核心任务。SQL因其广泛的应用基础和易于上手的特点成为大数据处理的主要语言,各大厂商纷纷支持SQL以提高市场竞争力。然而,SQL在处理复杂计算时表现出的性能和开发效率低下问题日益凸显,如难以充分利用现代硬件能力、复杂SQL优化困难等。为了解决这些问题,出现了像SPL这样的开源计算引擎,它通过提供更高效的开发体验和计算性能,以及对多种数据源的支持,为大数据处理带来了新的解决方案。
|
28天前
|
SQL 缓存 数据库
SQL慢查询优化策略
在数据库管理和应用开发中,SQL查询的性能优化至关重要。慢查询优化不仅可以提高应用的响应速度,还能降低服务器负载,提升用户体验。本文将详细介绍针对SQL慢查询的优化策略。
|
28天前
|
SQL 存储 BI
gbase 8a 数据库 SQL合并类优化——不同数据统计周期合并为一条SQL语句
gbase 8a 数据库 SQL合并类优化——不同数据统计周期合并为一条SQL语句
|
28天前
|
SQL 数据库
gbase 8a 数据库 SQL优化案例-关联顺序优化
gbase 8a 数据库 SQL优化案例-关联顺序优化
|
1月前
|
SQL 缓存 监控
SQL性能提升指南:五大优化策略与十个实战案例
在数据库性能优化的世界里,SQL优化是提升查询效率的关键。一个高效的SQL查询可以显著减少数据库的负载,提高应用响应速度,甚至影响整个系统的稳定性和扩展性。本文将介绍SQL优化的五大步骤,并结合十个实战案例,为你提供一份详尽的性能提升指南。
52 0
|
5天前
|
数据采集 人工智能 DataWorks
DataWorks产品最佳实践测评
DataWorks产品最佳实践测评
|
24天前
|
SQL DataWorks 数据可视化
DataWorks产品体验与评测
在当今数字化时代,数据处理的重要性不言而喻。DataWorks作为一款数据开发治理平台,在数据处理领域占据着重要的地位。通过对DataWorks产品的体验使用,我们可以深入了解其功能、优势以及存在的问题,并且与其他数据处理工具进行对比,从而为企业、工作或学习中的数据处理提供有价值的参考。
48 6
DataWorks产品体验与评测
|
18天前
|
SQL DataWorks 搜索推荐
DataWorks产品评测与最佳实践体验报告
DataWorks是阿里巴巴云推出的一款高效数据处理平台,通过内置的数据集成工具和ETL功能,实现了多源数据的自动化处理与分析。本文介绍了DataWorks在用户画像分析中的应用实践,展示了其如何帮助企业高效管理数据资源,支持决策制定及营销优化。同时,文章还评测了DataWorks的产品体验,包括开通流程、功能满足度等方面,并与其它数据开发平台进行了比较,突出了DataWorks在易用性、性能和生态完整性上的优势。最后,对Data Studio新版本中的Notebook环境进行了初步探索,强调了其在提升开发效率方面的价值。
54 16
|
12天前
|
SQL 分布式计算 DataWorks
DataWorks产品测评|基于DataWorks和MaxCompute产品组合实现用户画像分析
本文介绍了如何使用DataWorks和MaxCompute产品组合实现用户画像分析。首先,通过阿里云官网开通DataWorks服务并创建资源组,接着创建MaxCompute项目和数据源。随后,利用DataWorks的数据集成和数据开发模块,将业务数据同步至MaxCompute,并通过ODPS SQL完成用户画像的数据加工,最终将结果写入`ads_user_info_1d`表。文章详细记录了每一步的操作过程,包括任务开发、运行、运维操作和资源释放,帮助读者顺利完成用户画像分析。此外,还指出了文档中的一些不一致之处,并提供了相应的解决方法。