hive:启动了太多Map程序

0tdrvxhp  于 2021-05-29  发布在  Hadoop
关注(0)|答案(0)|浏览(383)

我正在使用cdh5.4.9和hive版本1.1.0
我想将数据从外部表插入到非外部表。
像这样的 INSERT INTO TABLE mytable SELECT * FROM mytable_tmp; mytable\u tmp的数据大小约为10 mb。
hdfs块大小为128mb。
因此,Map器的预期数量将是1。
但是,它显示了829个Map器,这个太大了。
Hive抛出了这样的异常。

Error: java.lang.RuntimeException: Failed to load plan: hdfs://host:8020/tmp/hive/me/ea3b1570-db8a-4b55-a513-e3db5c4dae8b/hive_2016-01-06_17-51-25_558_6497985511241352149-1/-mr-10004/4a3f7801-fe47-4f23-9012-3a6b7a50d758/map.xml: org.apache.hive.com.esotericsoftware.kryo.KryoException: Buffer underflow.
    at org.apache.hadoop.hive.ql.exec.Utilities.getBaseWork(Utilities.java:450)
    at org.apache.hadoop.hive.ql.exec.Utilities.getMapWork(Utilities.java:296)
    at org.apache.hadoop.hive.ql.io.HiveInputFormat.init(HiveInputFormat.java:268)
    at org.apache.hadoop.hive.ql.io.HiveInputFormat.getRecordReader(HiveInputFormat.java:234)
    at org.apache.hadoop.hive.ql.io.CombineHiveInputFormat.getRecordReader(CombineHiveInputFormat.java:701)
    at org.apache.hadoop.mapred.MapTask$TrackedRecordReader.<init>(MapTask.java:169)
    at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:432)
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:343)
    at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:163)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:415)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1671)
    at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)
Caused by: org.apache.hive.com.esotericsoftware.kryo.KryoException: Buffer underflow.
    at org.apache.hive.com.esotericsoftware.kryo.io.Input.require(Input.java:181)
    at org.apache.hive.com.esotericsoftware.kryo.io.Input.readBoolean(Input.java:783)
    at org.apache.hive.com.esotericsoftware.kryo.serializers.UnsafeCacheFields$UnsafeBooleanField.read(UnsafeCacheFields.java:120)
    at org.apache.hive.com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:507)
    at org.apache.hive.com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:672)
    at org.apache.hadoop.hive.ql.exec.Utilities.deserializeObjectByKryo(Utilities.java:1069)
    at org.apache.hadoop.hive.ql.exec.Utilities.deserializePlan(Utilities.java:960)
    at org.apache.hadoop.hive.ql.exec.Utilities.deserializePlan(Utilities.java:974)
    at org.apache.hadoop.hive.ql.exec.Utilities.getBaseWork(Utilities.java:416)
    ... 12 more

我想有些配置有错误,但我想不出来。
有什么建议吗?
谢谢您!

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题