大数据之HIVE,一次HIVESQL执行的过程(四)

在hive中执行如下sql

INSERT OVERWRITE TABLE XXX

SELECT * from XXX

数据最终是怎么存储到hdfs上的过程

执行的过程当中,打印出如下的日志过程,本质上是一个在MapReduce中进行Shuffle的过程

所以下面就Shuffle的过程进行分析

Shuffle 描述的是数据从 Map 端到 Reduce 端的过程,大致分为排序(sort)、溢写(spill)、合并(merge)、拉取拷贝(Copy)、合并排序(merge sort)这几个过程,大体流程如下:

上图的 Map 的输出的文件被分片为红绿蓝三个分片,这个分片的就是根据 Key 为条件来分片的,分片算法可以自己实现,例如 Hash、Range 等,最终 Reduce 任务只拉取对应颜色的数据来进行处理,就实现把相同的 Key 拉取到相同的 Reduce 节点处理的功能。下面分开来说 Shuffle 的的各个过程。

注意:

sqoop import实际上是把数据存放到hdfs对应路径上了,而不是"直接导入表里",

查询时,hive会从hdfs的路径上提取数据,再根据hive表的结构和定义,来向我们展示出类似表格的形式。

相关推荐
eastyuxiao12 小时前
思维导图拆解项目范围 3 个真实落地案例
大数据·运维·人工智能·流程图
Meya112717 小时前
别再人工硬扛机房管理!智能 U 位系统,让机房管理一键数字化
大数据·运维
天辛大师18 小时前
天辛大师谈人工智能时代,如何用AI研究历代放生劝善忏悔文
大数据·人工智能·随机森林·启发式算法
为儿打call19 小时前
SparkSQL 广播超时排查:小表但是多分区 = BroadcastTimeout
大数据·spark
eastyuxiao19 小时前
如何用思维导图拆解项目范围
大数据·人工智能·流程图
渣渣盟19 小时前
Apache Flink物理分区算子全解析
大数据·flink·apache
小王毕业啦20 小时前
(1990-2024年)个股交易活跃度、个股换手率
大数据·人工智能·数据挖掘·数据分析·区块链·社科数据
N串20 小时前
2.7 公司内部的“阶级”是什么
大数据·人工智能
kybs199120 小时前
springboot租车系统--附源码68701
java·hadoop·spring boot·python·django·asp.net·php
lizhihai_9921 小时前
股市学习心得—商业航天10大核心材料供应商
大数据·人工智能·学习