带你读《2022技术人的百宝黑皮书》——ODPS SQL优化总结(2)
基础知识经验总结与沉淀SQL的一些使用技巧 null我们在进行=/<>/in/not in等判断时,null会不包含在这些判断条件中,所以在对null的处理时可以使用nvl或者coalesce函数对null进行默认转换。 select *在数据开发或者线上任务时,尽可能提前对列进行剪裁,即使是全表字段都需要,...
带你读《2022技术人的百宝黑皮书》——ODPS SQL优化总结(3)
窗口函数的使用可以通过 row_number()/rank() over(partition by order by )的方式实现数据按照某个字段分组的排序,也可以通过 max(struct())的方式实现。 关联左关联、内关联、右关联、left anti join 、left semi join等,可以实现不同情况下的多表关联。关联字段要确保字段类型的一致。 笛卡尔...
带你读《2022技术人的百宝黑皮书》——ODPS SQL优化总结(4)
常用的参数设置常用的调整无外乎调整map、join、reduce的个数,map、join、reduce的内存大小。本文以ODPS的参数设置为例,参数可能因版本不同而略有差异。 Map设置set odps.sql.mapper.cpu=100作用:设置处理Map Task每个Instance的CPU数目,默认为100,在...
带你读《2022技术人的百宝黑皮书》——ODPS SQL优化总结(5)
Reduce设置set odps.sql.reducer.instances=-1作用: 设定Reduce Task的Instance数量,手动设置区间在[1,99999]之间调整。不走HBO优化时,ODPS能够自动设定的最大值为1111,手动设定的最大值为99999,走HBO优化时可以超过99999。场景:每个Join Insta...
带你读《2022技术人的百宝黑皮书》——ODPS SQL优化总结(6)
UDF相关参数set odps.sql.udf.jvm.memory=1024作用: 设定UDF JVM Heap使用的最大内存,单位M,默认1024M,在[256,12288]之间调整。场景:某些UDF在内存计算、排序的数据量比较大时,会报内存溢出错误,这时候可以调大该参数,...
带你读《2022技术人的百宝黑皮书》——ODPS SQL优化总结(7)
解决步骤 skewjoin看到JOIN节点运行缓慢,第一反应是数据倾斜,通过对淘宝天猫订单表按照商品维度汇总统计也可以印证存在热销商品的情况。于是毫不犹豫使用了ODPS的skewjoin hint。然而经过几次测试,JOIN节点运行缓慢的问题有所缓解,但是运行时长还是2个多小时,明显没有达到优化的预期。 传统的热点数据分离sk...
带你读《2022技术人的百宝黑皮书》——ODPS SQL优化总结(8)
数据字段类型检查检查字段发现订单表中item_id是bigint,但是sku属性和商品属性中的item_id存储成了string。最终尝试关联的时候都强制转换成string再观察,发现在资源充足的情况40分钟即可完成任务的计算。优化总结1. skewjoin或者传统拆分冷热数据可以解决常规的数据倾斜。2. 关联时要确保左右数据类型一致,如不一致建议强制转...
带你读《2022技术人的百宝黑皮书》——ODPS SQL优化总结(9)
解决步骤参数调优:增加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...
带你读《2022技术人的百宝黑皮书》——ODPS SQL优化总结(10)
优化总结通过CREATE TABLE或者ALTER TABLE语句,指定一个或者多个Cluster列,通过哈希方法,把数据存储分散到若干个桶里面,类似于这样:CREATE TABLE T (C1 string, C2 string, C3 int) CLUSTERED BY (C3) SORTED by (C3) INTO 1...
带你读《2022技术人的百宝黑皮书》——ODPS SQL优化总结(11)
SQL优化案例三:结合业务具体场景给出合理的SQL优化方案背景还是上面案例二的例子,DWS层存储了淘宝天猫用户天增量粒度的用户与商品交互行为轻度汇总数据(浏览、收藏、加购、下单、交易等等),基于明细数据需要汇总用户30天内的行为汇总数据。背景解决步骤 基于月+日的计算方式使用bigint类型的行为作为判断依据,>0的保存。采用...
本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。
SQL更多技术相关
数据库
分享数据库前沿,解构实战干货,推动数据库技术变革
+关注