hadoop - Cloudera中的配置单元查询问题

标签 hadoop mapreduce hive cloudera

我可以在配置单元中执行所有其他查询,但是当我进行联接时,它只会卡住。

hive> select count (*) from tab10 join tab1;
Warning: Map Join MAPJOIN[13][bigTable=tab10] in task 'Stage-2:MAPRED' is a cross product
Query ID = root_20160406145959_b57642e0-7499-41a0-914c-0004774fe4ac
Total jobs = 1
Execution log at: /tmp/root/root_20160406145959_b57642e0-7499-41a0-914c-0004774fe4ac.log
2016-04-06 03:00:03 Starting to launch local task to process map join;  maximum memory = 2058354688

2016-04-06 03:00:03 Dump the side-table for tag: 1 with group count: 1 into file: file:/tmp/root/b71aa45b-f356-4a54-a880-77e57cd53ed3/hive_2016-04-06_14-59-59_858_3722397802100174236-1/-local-10004/HashTable-Stage-2/MapJoin-mapfile01--.hashtable
2016-04-06 03:00:03 Uploaded 1 File to: file:/tmp/root/b71aa45b-f356-4a54-a880-77e57cd53ed3/hive_2016-04-06_14-59-59_858_3722397802100174236-1/-local-10004/HashTable-Stage-2/MapJoin-mapfile01--.hashtable (280 bytes)
2016-04-06 03:00:03 End of local task; Time Taken: 0.562 sec.

此时它已挂起,并且根本不会生成任何map reduce任务。有什么事吗

我确实在hive.log中看到了这一点。
2016-04-06 15:00:00,124 INFO  [main]: ql.Driver (Driver.java:launchTask(1643)) - Starting task [Stage-5:MAPREDLOCAL] in serial mode
2016-04-06 15:00:00,125 INFO  [main]: mr.MapredLocalTask (MapredLocalTask.java:executeInChildVM(159)) - Generating plan file file:/tmp/root/b71aa45b-f356-4a54-a880-77e57cd53ed3/hive_2016-04-06_14-59-59_858_3722397802100174236-1/-local-10006/plan.xml
2016-04-06 15:00:00,233 INFO  [main]: mr.MapredLocalTask (MapredLocalTask.java:executeInChildVM(288)) - Executing: /opt/cloudera/parcels/CDH-5.5.2-1.cdh5.5.2.p0.4/lib/hadoop/bin/hadoop jar /opt/cloudera/parcels/CDH-5.5.2-1.cdh5.5.2.p0.4/jars/hive-exec-1.1.0-cdh5.5.2.jar org.apache.hadoop.hive.ql.exec.mr.ExecDriver -localtask -plan file:/tmp/root/b71aa45b-f356-4a54-a880-77e57cd53ed3/hive_2016-04-06_14-59-59_858_3722397802100174236-1/-local-10006/plan.xml   -jobconffile file:/tmp/root/b71aa45b-f356-4a54-a880-77e57cd53ed3/hive_2016-04-06_14-59-59_858_3722397802100174236-1/-local-10007/jobconf.xml

除此之外,没有别的。有人知道如何解决这个问题吗?

最佳答案

打开mapred-site.xml文件并添加属性:

<property>
<name>mapred.child.java.opts</name>
<value>-Xmx1024m</value>

您需要增加hadoop JVM使用的堆内存

关于hadoop - Cloudera中的配置单元查询问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36460165/

相关文章:

hadoop - 如何使用testNG在Java中运行MapReduce程序?

java - 映射 : expected org. apache.hadoop.io.NullWritable 中的值类型不匹配,已收到 org.apache.hadoop.io.Text

hadoop - Hadoop 中的 VIRTUAL_MEMORY_BYTES 任务计数器是什么意思?

hadoop - Oozie 未注册 "mapred.input.dir.recursive"属性

hadoop - HIVE中的期间数据类型支持到TERADATA导出

hadoop - 如何将汉字插入 hive 表?

filter - 如何获取 HBase 中的最大 rowkey?

hadoop - 配置单元插入覆盖所有分区

hadoop - 是否可以根据文件数量判断使用的映射器/缩减器的数量?

join - 无法在Hive 0.12中使用存储桶映射联接