前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hive部分函数简析

Hive部分函数简析

作者头像
挽风
发布2021-04-13 14:29:27
3230
发布2021-04-13 14:29:27
举报
文章被收录于专栏:小道小道

1、order by

  对查询结果做一次全局排序,即所有Mapper产生的结果都会交给一个reducer处理,无论数据量大小,job任务只会启动一个reducer,所以如果数据量巨大,会耗费大量时间计算。(在严格模式下,oeder by 需要指定limit数据条数,从而避免因为数据量过大造成集群崩坏。)

2、sort by

  对每一块Partion进行局部排序,即每一个reducer处理的数据都是有序的,但不能保证全局有序。

3、distribute by

  一般和sort by 组合使用,即将某一块数据给一个reducer处理,然后在指定的reducer中进行sort by排序(distribute by必须写在sort by前面)。

4、cluster by

  相当于sort by + distribute by,不同点在于cluster by 默认为降序排列且不能更改。

5、列转行

代码语言:javascript
复制
        User表                       t1
    name    sex  age             name    age          message   names
    张三     1   22              张三   1,22           1,22    张三|王五 
    李四     2   24     -->      李四   2,24    -->    2,24     李四
    王五     1   22              王五   1,22

HQL:

代码语言:javascript
复制
    select t1.message,concat_ws("|",collect_set(t1.name)) names         【注】 collect_set去重  collect——list不去重
    from(
        select name,concat(sex,",",age) message from User
        ) t1
     group by t1.message;

6、行转列

代码语言:javascript
复制
        Movie_Info表
     movie          category             movie   category
    《战狼2》        战争,动作   --->   《战狼2》    战争 
  《lie to me》     悬疑,心理           《战狼2》    动作
                                      《lie to me》 悬疑
                                       《lie to me》 心理

HQL:

代码语言:javascript
复制
    select movie,category_name from Movie_Info lateral view explode(split(category,",")) tmp as category_name;

7、fields terminated by 设置字段与字段之间的分隔符

collection items terminated by 设置字段中各个子元素的分隔符

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-12-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档