码迷,mamicode.com
首页 > 数据库 > 详细

hive如何执行一条sql的例子

时间:2018-12-30 22:22:08      阅读:366      评论:0      收藏:0      [点我收藏+]

标签:https   shuf   word   blog   png   数据表   .com   编程模型   htm   

SQL如何在Mapreduce执行

技术分享图片
左边是数据表,右边是结果表,这条 SQL 语句对 age 分组求和,得到右边的结果表,到底一条简单的 SQL 在 MapReduce 是如何被计算, MapReduce 编程模型只包含 map 和 reduce 两个过程,map 是对数据的划分,reduce 负责对 map 的结果进行汇总。

select id,age,count(1) from student_info group by age

首先看 map 函数的输入的 key 和 value,输入主要看 value,value 就是 user_info 表的每一行数据,输入的 value 作为map函数输出的 key,输出的 value 固定为 1,比如<<1,17>,1>。 map 函数的输出经过 shuffle 处理,shuffle 把相同的 key 以及对应的 value 组合成新<key,value集合>,从 user_info 表看出map输出 2 次<<1,17>,1>,那么经过 shuffle 处理后则会输出<<1,17>,<1,1>>,并将输出作为 reduce 函数的输入。

在 reduce 函数会把所有 value 进行相加后输出结果,<<1,17>,<1,1>>输出为<<1,17>,2>。 这就是一条简单 SQL 在 Mapreduce 执行过程,可能你会有点迷糊,在这里我画了一张流程图,结合流程图你会更加清楚。
技术分享图片

https://www.cnblogs.com/TFengStorm/p/10198853.html

 

hive如何执行一条sql的例子

标签:https   shuf   word   blog   png   数据表   .com   编程模型   htm   

原文地址:https://www.cnblogs.com/zourui4271/p/10200597.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!