【发布时间】:2016-11-02 18:09:12
【问题描述】:
我目前正在处理 Java MapReduce 作业,该作业应将数据输出到分桶 Hive 表。
我想到了两种方法:
首先通过 HCatalog 直接写入 Hive。问题是,这种方法不支持写入分桶 Hive 表。因此,当使用分桶 Hive 表时,我需要先写入非分桶表,然后将其复制到分桶表。
第二个选项是将输出写入文本文件,然后将此数据加载到 Hive。
这里的最佳做法是什么?
哪种方法在处理大量数据时性能更高(就内存和所用时间而言)?
如果我也可以使用非分桶 Hive 表,哪种方法会更好?
非常感谢!
【问题讨论】:
-
不确定我是否理解正确。如果需要创建存储桶输出,则使用 mapreduce 多种输出格式创建存储桶。或者直接将数据加载到 Hive 存储桶表中,该表将在内部创建存储桶。
标签: java hadoop mapreduce hive hcatalog