首页 > 其他 > 详细

常见hql操作的执行过程:

时间:2020-02-13 18:54:02      阅读:53      评论:0      收藏:0      [点我收藏+]

1、join

SELECT pv.pageid, u.age FROM page_view pv JOIN user u ON pv.userid = u.userid;

实现过程:

Map:

  1、以 JOIN ON 条件中的列作为 Key,如果有多个列,则 Key 是这些列的组合

  2、以 JOIN 之后所关心的列作为 Value,当有多个列时,Value 是这些列的组合。在 Value 中还会包含表的 Tag 信息,用于标明此 Value 对应于哪个表

  3、按照 Key 进行排序

Shuffle:

  1、根据 Key 的值进行 Hash,并将 Key/Value 对按照 Hash 值推至不同对 Reduce 中

Reduce:

  1、 Reducer 根据 Key 值进行 Join 操作,并且通过 Tag 来识别不同的表中的数据

技术分享图片

 

2、Group By

SELECT pageid, age, count(1) FROM pv_users GROUP BY pageid, age; 

实现过程:

技术分享图片

 

3、Distinct

SELECT age, count(distinct pageid) FROM pv_users GROUP BY age;

技术分享图片

 

常见hql操作的执行过程:

原文:https://www.cnblogs.com/guoyu1/p/12304388.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!