Hive 为什么蜂箱插入件中需要减速器

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语句时MapReduce作业的工作有关。 将记录插入配置单元表时:由于插入到内部配置单元表时不涉及聚合,因此也会调用reducer。它应该只是一个映射作业而已。 减速器在这里的作用是什么

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