創建擴展蜂巢表:蜂巢錯誤運行SELECT查詢
CREATE EXTERNAL TABLE hivelog (timestamp BIGINT ,value STRING)
PARTITIONED BY(dt BIGINT) row format serde
'hive.serde.AdsClickLogWritableDeserializer' stored as inputformat
'org.apache.hadoop.mapred.SequenceFileInputFormat' outputformat
'org.apache.hadoop.mapred.SequenceFileOutputFormat' location
'/user/hive/HiveData';
hive.serde.AdsClickLogWritableDeserializer is my class deserialized data.
然後我運行查詢
select count(*) from hivelog that has error:
2013-04-22 22:30:51,228 FATAL org.apache.hadoop.mapred.Child: Error running child : java.lang.OutOfMemoryError: Java heap space
at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.<init>(MapTask.java:949)
at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:428)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:372)
at org.apache.hadoop.mapred.Child$4.run(Child.java:255)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at org.apache.hadoop.mapred.Child.main(Child.java:249)
我的蜂巢版本是0.90和Hadoop版本是1.0.0
如何解決這個問題。非常感謝。
設法增加JVM內存設置 參考[1]和[內存不足的錯誤在JVM的行爲?] [2] [我要如何增加JVM內存?] [1]:http://stackoverflow.com/questions/2294268/how-can-i-increase-the-jvm-memory [2]:http://stackoverflow.com/questions/7753443/behaviour- of-jvm-during-memory-error-list-s-new-arrayliststring – 2013-04-22 17:50:25