有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

hadoop在Java MapReduce作业中写入配置单元

我目前正在处理一个JavaMapReduce作业,它应该将数据输出到一个带扣的配置单元表中

我认为有两种方法:

首先通过HCatalog直接写入Hive。问题是,这种方法不支持写入带扣的配置单元表。因此,当使用带扣的配置单元表时,我需要首先写入非带扣的表,然后将其复制到带扣的表

第二个选项是将输出写入文本文件,然后将此数据加载到配置单元中

这里的最佳实践是什么

哪种方法在处理大量数据时性能更好(就内存和所用时间而言)

如果我也可以使用无扣蜂箱桌,哪种方法会更好

非常感谢


共 (1) 个答案

  1. # 1 楼答案

    对于无扣表,可以将MapReduce输出存储在表存储位置。然后只需要运行^{}就可以用新分区更新元数据

    Hive的load命令实际上只是将数据复制到表存储位置

    另外,从HIVE documentation

    The CLUSTERED BY and SORTED BY creation commands do not affect how data is inserted into a table – only how it is read. This means that users must be careful to insert data correctly by specifying the number of reducers to be equal to the number of buckets, and using CLUSTER BY and SORT BY commands in their query.

    因此,您需要调整MapReduce输出以适应这些约束