在单个节点上将大文件提取到Hive中Hadoop

时间:2015-08-20 06:00:21

标签: java hadoop garbage-collection apache-pig heap-memory

我想定期将大型csv文件(最多6 GB)摄取到具有32 GB RAM的Hadoop单节点中。它们的关键要求是在HCatalog中注册数据。 (请不要讨论要求,这是一个功能演示)。表现并不重要。蜂巢表应该被分区。

到目前为止,我正在使用猪。到目前为止的经验教训是,主要的挑战是堆。生成的MapReduce作业快速填满堆,一旦Java占垃圾收集时间的98%,就会出现溢出。

一种解决方案可能是将大文件分成小块......但是,我也认为与Pig不同的技术可能不会填满堆。关于如何处理这种用例的任何想法? THX

1 个答案:

答案 0 :(得分:1)

最好的办法是使用HiveQL而不是Pig(LOAD)。它仅基于文件传输,没有MR作业