Hive 为什么蜂箱插入件中需要减速器
问题和从配置单元命令行触发insert into语句时MapReduce作业的工作有关。 将记录插入配置单元表时:由于插入到内部配置单元表时不涉及聚合,因此也会调用reducer。它应该只是一个映射作业而已。 减速器在这里的作用是什么Hive 为什么蜂箱插入件中需要减速器,hive,mapreduce,bigdata,hiveql,hadoop2,Hive,Mapreduce,Bigdata,Hiveql,Hadoop2,问题和从配置单元命令行触发insert into语句时MapReduce作业的工作有关。 将记录插入配置单元表时:由于插入到内部配置单元表时不涉及聚合,因此也会调用reducer。它应该只是一个映射作业而已。 减速器在这里的作用是什么 insert into table values (1,1); 解释插入测试值(10,14); 阶段依赖关系: 阶段1是根阶段 阶段7取决于阶段:阶段1包括阶段4、阶段3、阶段5 第四阶段 阶段0取决于阶段:阶段4、阶段3、阶段6 阶段2取决于阶段:阶段0 第三
insert into table values (1,1);
解释插入测试值(10,14);
阶段依赖关系:
阶段1是根阶段
阶段7取决于阶段:阶段1包括阶段4、阶段3、阶段5
第四阶段
阶段0取决于阶段:阶段4、阶段3、阶段6
阶段2取决于阶段:阶段0
第三阶段
第五阶段
阶段6取决于阶段:阶段5
阶段计划:
阶段:第一阶段
地图缩小
映射运算符树:
表扫描
别名:_伪_表
每次拆分的行限制:1
统计信息:行数:1数据大小:10基本统计信息:完整列统计信息:完整
选择运算符
表达式:数组(常量结构(10,14))(类型:数组)
outputColumnNames:\u col0
统计信息:行数:1数据大小:48基本统计信息:完整列统计信息:完整
UDTF运算符
统计信息:行数:1数据大小:48基本统计信息:完整列统计信息:完整
函数名:inline
选择运算符
表达式:col1(类型:int)、col2(类型:int)
outputColumnNames:\u col0,\u col1
统计信息:行数:1数据大小:8基本统计信息:完整列统计信息:完整
文件输出运算符
压缩:假
统计信息:行数:1数据大小:8基本统计信息:完整列统计信息:完整
表:
输入格式:org.apache.hadoop.mapred.TextInputFormat
输出格式:org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
serde:org.apache.hadoop.hive.serde2.lazy.lazympleserde
选择运算符
表达式:_col0(类型:int),_col1(类型:int)
outputColumnNames:i,j
统计信息:行数:1数据大小:8基本统计信息:完整列统计信息:完整
按操作员分组
聚合:compute_stats(i,'hll')、compute_stats(j,'hll'))
模式:散列
outputColumnNames:\u col0,\u col1
统计信息:行数:1数据大小:848基本统计信息:完整列统计信息:完整
减少输出运算符
排序顺序:
统计信息:行数:1数据大小:848基本统计信息:完整列统计信息:完整
值表达式:_col0(类型:struct)、_col1(类型:struct)
减少运算符树:
按操作员分组
聚合:计算统计(VALUE.\u col0)、计算统计(VALUE.\u col1)
模式:合并部分
outputColumnNames:\u col0,\u col1
统计信息:行数:1数据大小:880基本统计信息:完整列统计信息:完整
文件输出运算符
压缩:假
统计信息:行数:1数据大小:880基本统计信息:完整列统计信息:完整
表:
输入格式:org.apache.hadoop.mapred.SequenceFileInputFormat
输出格式:org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
serde:org.apache.hadoop.hive.serde2.lazy.lazympleserde
阶段:第7阶段
条件运算符
阶段:第4阶段
移动操作员
文件夹:
hdfs目录:true
目的地:
阶段:第0阶段
移动操作员
桌子:
替换:false
表:
输入格式:org.apache.hadoop.mapred.TextInputFormat
输出格式:org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
serde:org.apache.hadoop.hive.serde2.lazy.lazympleserde
阶段:第二阶段
统计工作
基本统计工作:
列统计描述:
栏目:i、j
列类型:int,int
表:db.test.test
阶段:第三阶段
地图缩小
映射运算符树:
表扫描
文件输出运算符
压缩:假
表:
输入格式:org.apache.hadoop.mapred.TextInputFormat
输出格式:org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
serde:org.apache.hadoop.hive.serde2.lazy.lazympleserde
名称:db.test
阶段:第五阶段
地图缩小
映射运算符树:
表扫描
文件输出运算符
压缩:假
表:
输入格式:org.apache.hadoop.mapred.TextInputFormat
输出格式:org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
serde:org.apache.hadoop.hive.serde2.lazy.lazympleserde
名称:db.test
阶段:第6阶段
移动操作员
文件夹:
hdfs目录:true
目的地:
所用时间:5.123秒,获取:121行
您似乎启用了统计信息自动收集功能:
SET hive.stats.autogather=true;
减速器正在计算统计数据
Reduce Operator Tree:
Group By Operator
aggregations: **compute_stats**(VALUE._col0), compute_stats(VALUE._col1)
mode: mergepartial
请提供解释输出。还要检查
hive.merge.mapfiles
,hive.merge.mapredfiles
属性,还要检查mapreduce.job.reduces
@leftjoin我已经更新了解释计划。我只是想知道为什么角色需要reducer。@leftjoin还有一个表。当我为它做普通插入时。因此,它说“没有减速机操作员”。所以减速机的数量=0。我想这可能是统计数据自动收集。但不确定条件运算符到底做什么。。。它可以检查统计数据是否存在,并为最终ta触发统计数据收集作业
explain insert into test values (10,14);
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-7 depends on stages: Stage-1 , consists of Stage-4, Stage-3, Stage-5
Stage-4
Stage-0 depends on stages: Stage-4, Stage-3, Stage-6
Stage-2 depends on stages: Stage-0
Stage-3
Stage-5
Stage-6 depends on stages: Stage-5
STAGE PLANS:
Stage: Stage-1
Map Reduce
Map Operator Tree:
TableScan
alias: _dummy_table
Row Limit Per Split: 1
Statistics: Num rows: 1 Data size: 10 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: array(const struct(10,14)) (type: array<struct<col1:int,col2:int>>)
outputColumnNames: _col0
Statistics: Num rows: 1 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
UDTF Operator
Statistics: Num rows: 1 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
function name: inline
Select Operator
expressions: col1 (type: int), col2 (type: int)
outputColumnNames: _col0, _col1
Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.TextInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
Select Operator
expressions: _col0 (type: int), _col1 (type: int)
outputColumnNames: i, j
Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
aggregations: compute_stats(i, 'hll'), compute_stats(j, 'hll')
mode: hash
outputColumnNames: _col0, _col1
Statistics: Num rows: 1 Data size: 848 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
sort order:
Statistics: Num rows: 1 Data size: 848 Basic stats: COMPLETE Column stats: COMPLETE
value expressions: _col0 (type: struct<columntype:string,min:bigint,max:bigint,countnulls:bigint,bitvector:binary>), _col1 (type: struct<columntype:string,min:bigint,max:bigint,countnulls:bigint,bitvector:binary>)
Reduce Operator Tree:
Group By Operator
aggregations: compute_stats(VALUE._col0), compute_stats(VALUE._col1)
mode: mergepartial
outputColumnNames: _col0, _col1
Statistics: Num rows: 1 Data size: 880 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
Statistics: Num rows: 1 Data size: 880 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
Stage: Stage-7
Conditional Operator
Stage: Stage-4
Move Operator
files:
hdfs directory: true
destination:<path>
Stage: Stage-0
Move Operator
tables:
replace: false
table:
input format: org.apache.hadoop.mapred.TextInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
Stage: Stage-2
Stats Work
Basic Stats Work:
Column Stats Desc:
Columns: i, j
Column Types: int, int
Table: db.test.test
Stage: Stage-3
Map Reduce
Map Operator Tree:
TableScan
File Output Operator
compressed: false
table:
input format: org.apache.hadoop.mapred.TextInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
name: db.test
Stage: Stage-5
Map Reduce
Map Operator Tree:
TableScan
File Output Operator
compressed: false
table:
input format: org.apache.hadoop.mapred.TextInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
name: db.test
Stage: Stage-6
Move Operator
files:
hdfs directory: true
destination: <PATH>
Time taken: 5.123 seconds, Fetched: 121 row(s)
SET hive.stats.autogather=true;
Reduce Operator Tree:
Group By Operator
aggregations: **compute_stats**(VALUE._col0), compute_stats(VALUE._col1)
mode: mergepartial