hive
文章平均质量分 52
hive
程序员的三板斧
一个人必须不停地写作,才能不被茫茫人海淹没。
展开
-
hive中 Sort By,Order By,Cluster By,Distrbute By区别
order by:会对输入做全局排序,因此只有一个reducer(多个reducer无法保证全局有序)。只有一个reducer,会导致当输入规模较大时,需要较长的计算时间。 sort by:不是全局排序,其在数据进入reducer前完成排序。 distribute by:按照指定的字段对数据进行划分输出到不同的reduce中。 cluster by:除了具有 distribute by 的功能外还兼具 sort by 的功能。代码:CREATE TABLE `person`( `id` i原创 2022-04-09 18:30:29 · 569 阅读 · 0 评论 -
挑战100天不停更之hive sql第5天 - 求连续值(不借助其他表)
执行结果方法一思路根据space()获取字符串的长度,space(int i) 返回i长度的字符串,再通过split()根据字符串切割为想要的数组通过lateral view侧视图+posexplode()将行转为列,再取出对应的索引值+1即可问题:lateral view侧视图?(参考)Lateral View和**UDTF**类功能函数一起使用,表中的每一行和UDTF函数输出的每一行进行连接,生成一张新的虚拟表,可以对UDTF产生的记录设置字段名称,新加的字段可以使用在so.原创 2022-04-04 13:38:46 · 563 阅读 · 0 评论 -
挑战100天不停更之hive sql第3天- 累计求值
表结构建表CREATE table t3 like t1;INSERT into t3 values('2014', 'A', 3),('2014' ,'B' ,1 ),('2014' ,'C' ,2 ),('2015' ,'A' ,4),('2015', 'D' ,3);SELECT * FROM t3;1)按a分组,对b排序,对c进行累加思路sum(c) 开窗 partitiona 然后orderby bSQLSELECT a, b, c, .原创 2022-03-31 10:35:21 · 2846 阅读 · 0 评论