当我输入Hive查询时,这很奇怪:
SELECT col FROM tb LIMIT 1;
它成功地从表中返回一行。
但是,当我从表中选择一列时,Hive将会失败:
new PianoKey(getClass().getResource("/noteDir/octave" + octaveNumber + "/G"+ octaveNumber + ".wav").toString(),octaveNumber);
Hive会显示错误消息:
失败:执行错误,返回代码-101 org.apache.hadoop.hive.ql.exec.mr.MapRedTask。 GC开销限制 超过
Hive有什么问题?
答案 0 :(得分:0)
这看起来像是一个java内存错误。 select *工作的原因是select *只是从HDFS中提取一行数据而不是实际执行map-reduce工作。
您可以通过增加最大堆大小来解决问题:
导出HADOOP_CLIENT_OPTS =“ - Xmx512m”
例如,将堆大小设置为512m。