0
votes

It is very strange that when I input the Hive query:

SELECT * FROM tb LIMIT 1;

It returns a row from the table successfully.

However, when I select a column from the table, Hive will fail:

SELECT col FROM tb LIMIT 1;

Hive gives an error message:

FAILED: Execution Error, return code -101 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask. GC overhead limit exceeded

What is wrong with Hive?

1

1 Answers

0
votes

This looks like a java memory error. The reason why a select * works, but a select column doesn't, is that the select * just pulls a row of data from HDFS rather than actually executing a map-reduce job.

You might be able to solve the problem by increasing the maximum heap size:

export HADOOP_CLIENT_OPTS="-Xmx512m" 

would set the heap size to 512m, for example.