![](https://img-blog.csdnimg.cn/351c1e39230f42c49beffa355f033172.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
ODPS
文章平均质量分 62
阿里员ODPS/MaxCompute数据库优化
王义凯_Rick
如果对你有帮助,就请点个赞吧~
展开
-
SQL中通过QUALIFY语法过滤窗口函数简化代码
MaxCompute和hive都支持使用QUALIFY语法对窗口函数的数据进行过滤,该语法类似于HAVING对聚合和GROUP BY之后的结果的处理。这个语法在很多场景中都可以用到,可以用于简化代码,少写一个子查询,如统计排名,分组内部排序等。很明显可以看出,相比于直接使用row_number排序后通过子查询过滤数据来说,通过。QUALIFY语法后至少要跟一个窗口函数,并且允许使用窗口列的别名来过滤数据。该代码效果等同于:(区别仅是上面代码多一个rn列,下面代码没有rn列)原创 2023-10-08 18:47:52 · 1829 阅读 · 0 评论 -
Hive/MaxCompute SQL性能优化(三):数据倾斜优化实战
前面介绍了如何定位数据倾斜,本文介绍如果遇到各种数据倾斜的情况该怎样优化代码。原创 2023-01-10 23:57:30 · 3113 阅读 · 1 评论 -
Hive/MaxCompute SQL性能优化(二):如何定位数据倾斜
前面的文章我们简单介绍了什么是数据倾斜,今天我们来讲一下如何定位是否出现了数据倾斜,以及是在什么阶段出现的数据倾斜。原创 2022-10-11 21:36:17 · 1594 阅读 · 0 评论 -
Hive/MaxCompute SQL性能优化(一):什么是数据倾斜
数据倾斜是指在并行计算模式下(map-reduce框架,数据被切分为N个片段,分发到不同的计算节点上,单独计算),部分节点处理的数据量远大于其他节点,造成该节点计算压力过大,从而导致少数节点的运行时长远远超过其他节点的平均运行时长,进而影响整体任务产出时效,造成任务延迟,这个现象就是数据倾斜。...原创 2022-07-14 01:03:29 · 1063 阅读 · 0 评论 -
odps进阶之参数化视图
ODPS(MaxCompute) 里面也有一个阉割版的存储过程---参数化视图。我们知道视图是将固定的计算逻辑存储下来,通过调用视图简化代码。而参数化视图就是可以在视图代码里调用入参变量,从而达到更灵活的使用视图,一个通用逻辑供多种场景使用。原创 2022-04-16 23:38:39 · 5134 阅读 · 3 评论 -
odps优化之arg_max/arg_min
arg_max(col1, col2)效果:查询col1列的最大值,并返回该记录中col2的值。arg_min(col1, col2)效果:查询col1列的最小值,并返回该记录中col2的值。优势:1:一般我们要查询某个列排名第一的其他字段的值的时候,一般会用row_number进行排序,然后取rn等于1的记录,当类似操作很多且数据量大的时候,是很影响性能的。而使用arg_max(col1,col2)就可以轻松的得到这个结果。2:或者当我们想取某个字符串列中最长的记录的内容时,一般我们都是先取最原创 2021-10-24 22:46:01 · 1159 阅读 · 0 评论 -
odps列转行之trans_array/trans_cols
trans_array用于将一行数据转为多行的UDTF,将列中存储的以固定分隔符格式分隔的数组转为多行。命令格式trans_array (num_keys, separator, key1,key2,…,col1, col2,col3) as (key1,key2,…,col1, col2)参数说明● num_keys: bigint类型常量,必须>=0。在转为多行时作为转置key的列的个数。Key是指在将一行转为多行时,在多行中重复的列。● separator:s...原创 2022-01-23 22:44:54 · 8592 阅读 · 1 评论