Hadoop 运行配置单元查询需要多少可用磁盘空间
我运行以下配置单元查询 创建表table table_llv_N_C作为select table_line_N_passed。染色体编号,表line_N_passed。位置,表line_C_passed.id从表line_N_passed连接表line_passed(表line_N_passed。染色体编号=表line_C_passed。染色体编号) 并得到以下错误Hadoop 运行配置单元查询需要多少可用磁盘空间,hadoop,hive,Hadoop,Hive,我运行以下配置单元查询 创建表table table_llv_N_C作为select table_line_N_passed。染色体编号,表line_N_passed。位置,表line_C_passed.id从表line_N_passed连接表line_passed(表line_N_passed。染色体编号=表line_C_passed。染色体编号) 并得到以下错误 。。。。。。 org.apache.hadoop.hive.ql.metadata.HiveException:处理行(tag=1
。。。。。。
org.apache.hadoop.hive.ql.metadata.HiveException:处理行(tag=1){“key”:{“joinkey0”:“12”},“value”:{“{”col2:“.”},“别名”:1}位于org.apache.hadoop.hive.ql.exec.ExecReducer.reduce(ExecReducer.java:258)。。。7更多原因:org.apache.hadoop.hive.ql.metadata.HiveException:org.apache.hadoop.hive.ql.metadata.HiveException:org.apache.hadoop.ipc.RemoteException(java.io.IOException):文件/tmp/hive root/hive_2015-03-09-09_10-03-59970_364645675594156815-1/_任务_tmp.-ext-10001/_tmp.000000_0只能复制到0节点,而不能复制(=1). 有2个数据节点正在运行,此操作中没有排除任何节点代码>
根本原因可能是HDFS群集中缺少磁盘空间。有关磁盘空间的详细信息,请参阅
hdfs-dfs-df-h
使用的文件系统大小可用使用%
hdfs://x.y.ab.com:8020 159.7克21.9克110.7克14%
通过的表行数为4767409行,大小为1.1 G
类似地,表_行_c_通过的行数为4717082行,大小为1.0g
Hive真的需要那么多的空间(比可用的可用空间110g还要多)来处理数据吗。如何在运行查询之前计算所需的可用空间。在可用可用空间内运行查询的任何方法
PS:如果我在上面的查询中使用了限制10000,它运行良好
执行计划
解释创建表table\u llv\u N\u C作为select table\u line\u N\u passed.染色体号,表line\u N\u passed.位置,表line\u C\u passed.id from table\u line\u passed连接表line\u passed(表line\u N\u passed.染色体号=表line\u C\u passed.染色体号)代码>
嗯
抽象语法树:
(TOK_CREATETABLE(TOK_TABNAME table_llv_N_C)TOK_LIKETABLE(TOK_JOIN)(TOK_TABREF(TOK_TABNAME table_line_N_passed))(TOK_TABREF(TOK_TABNAME table_line_C_passed))(=(TOK((TOK_table_table_或_COL table_line_N_passed)染色体数)(TOK_table或COL table_COL table_行通过)插入染色体数)(TOK_目的地(TOK_目录TOK_TMP_文件))(TOK_选择(TOK_SELEXPR((TOK_表格U或列表格U行通过)染色体编号))(TOK_SELEXPR((TOK_表格U或列表格U行通过)位置))(TOK_SELEXPR((TOK_表格U或列表格U行通过)id()))
阶段依赖关系:
(阶段1是根阶段
Stage-0取决于Stage:Stage-1
Stage-4取决于Stage:Stage-0
Stage-2取决于Stage:Stage-4
阶段计划:
阶段:第一阶段
地图缩小
别名->映射运算符树:
表\u行\u c\u通过
表扫描
别名:表\u行\u c\u已通过
减少输出运算符
主要表达方式:
表达式:染色体数目
类型:字符串
排序顺序:+
映射减少分区列:
表达式:染色体数目
类型:字符串
标签:1
值表达式:
expr:id
类型:字符串
表\u行\u n\u已通过
表扫描
别名:表\u行\u n\u已通过
减少输出运算符
主要表达方式:
表达式:染色体数目
类型:字符串
排序顺序:+
映射减少分区列:
表达式:染色体数目
类型:字符串
标签:0
值表达式:
表达式:染色体数目
类型:字符串
表达式:位置
类型:int
减少运算符树:
联接运算符
条件图:
内部联接0到1
条件表达式:
0{VALUE.\u col0}{VALUE.\u col1}
1{VALUE.\u col2}
handleSkewJoin:false
outputColumnNames:_col0、_col1、_col14
选择运算符
表达:
表达式:_col0
类型:字符串
表达式:_col1
类型:int
表达式:_col14
类型:字符串
outputColumnNames:\u col0、\u col1、\u col2
文件输出运算符
压缩:假
球形球虫:1
表:
输入格式:org.apache.hadoop.mapred.TextInputFormat
输出格式:org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
名称:bright.table_llv_N_C
阶段:第0阶段
移动操作员
文件夹:
hdfs目录:true
目的地:hdfs://cheetah.xxx.yyyy.in:8020/user/hive/warehouse/bright.db/table_llv_n_c
阶段:第4阶段
创建表运算符:
创建表
列:编号字符串、位置int、id字符串
如果不存在:false
输入格式:org.apache.hadoop.mapred.TextInputFormat
#桶:-1
输出格式:org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat
名称:table_llv_N_C
isExternal:错误
阶段:第二阶段
Stats-Aggr算子
所用时间:0.146秒转到此链接:
然后查找这个标签。或者在页面上搜索内存使用情况,以便轻松访问
hive.map.aggr.hash.force.flush.memory.threshold
也指
hive.mapjoin.localtask.max.memory.usage