【发布时间】:2016-05-20 15:43:04
【问题描述】:
我们正在尝试从 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 的简单“选择”适用于任何引擎。
【问题讨论】:
-
看起来像一个 TEZ 错误 - 在标题和标签中明确说明。
-
请注意,Samson!