我们正在尝试从 HIVE (1.2.1) 中的“ORC”表中读取数据,并将该数据放入带有“TextInputFormat”的表中。原始数据中有些条目太大,运行时出现如下错误:
org.apache.hadoop.hive.ql.metadata.HiveException:org.apache.tez.runtime.library.common.sort.impl.ExternalSorter$MapBufferTooSmallException:记录对于内存缓冲区来说太大。超出缓冲区溢出限制,bufferOverflowRecursion=2,bufferList.size=1,blockSize=1610612736
任何想法如何解决这个问题?
我们使用 TEZ 引擎执行查询,简单的 MR 引擎没有错误。
要执行的查询:
insert overwrite table visits_text_test_1m select * from visits where dt='2016-01-19' limit 1000000;
更新:从 ORC 复制到 ORC 存储时出现同样的错误。
更新 2:来自 ORC 的简单“选择”适用于任何引擎。