hive如何执行一条sql的例子

Posted zourui4271

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hive如何执行一条sql的例子相关的知识,希望对你有一定的参考价值。

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的例子的主要内容,如果未能解决你的问题,请参考以下文章

Hive一条SQL的旅行

如何校验SQL查询结果是否准确

.hive命令的3种调用方式 以及源码

MySQL45讲-2-一条SQL更新语句是如何执行的?

走进大数据 | 大数据仓库Hive原理与架构

hive的sql的执行计划。