Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop 运行配置单元查询需要多少可用磁盘空间_Hadoop_Hive - Fatal编程技术网

Hadoop 运行配置单元查询需要多少可用磁盘空间

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

我运行以下配置单元查询

创建表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){“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