【发布时间】:2016-10-03 20:26:44
【问题描述】:
我想编写一个 mapreduce 作业来执行以下操作:
- 读取 HDFS 文件。
- 验证表(Hive/Hbase)中已存在读取记录。
- 如果存在,则执行更新操作。如果不存在,则将数据写入/插入表(Hive/Hbase)。
上述过程将每天重复。
问题:
- 是否可以使用 Hive 实现上述逻辑?
- 如何写MR作业?有没有实现上述逻辑的例子?
【问题讨论】:
我想编写一个 mapreduce 作业来执行以下操作:
上述过程将每天重复。
问题:
【问题讨论】:
有很多方法可以做你想做的事。 是的,您可以在 hive 中完成所有操作。 Hive 有一些允许您访问 Hbase 的 SerDes,因此您也可以从 hive 使用它。
您的 MR 工作仅由执行该工作的映射器组成;不管怎样,既然hive可以做到,我觉得写个MR工作不是个好主意。 也许构建您的 MR 工作的快速方法是使用实用程序流,您可以使用任何您喜欢的语言编写映射器。
如果这两种情况,使用 hive 或小型 MR 作业,您可以将作业置于 oozie 下并使其每天运行。
【讨论】: