【发布时间】:2016-04-28 13:56:57
【问题描述】:
我需要每天使用 sqoop 将数据从 RDBMS 导入 HDFS。记录在 HDFS 中的 DeptID 列上进行分区,并且还分区到 Hive。有可能添加新记录,并且每天都会从源数据库中删除一些记录。我了解 sqoop 合并可以处理更新。我们总是希望 HDFS 中文件的状态与数据库记录的状态相同,即如果数据库中删除/更新的记录应该在 HDFS 中删除/更新。让我举一个小例子。
- 在第 1 天,从 1 到 100 的记录被移动到 HDFS。
- 在第 2 天添加新记录 101 到 150,并从数据库中删除 10 到 30。
- 现在 HDFS 应该包含记录为 1 到 10、31-150 条记录的分区。(应该从 HDFS 中删除 10 到 30 条记录)。
我想知道 sqoop 的当前行为是否可行,或者需要自定义 map-reduce 来完成此操作。
任何帮助表示赞赏。
提前致谢。
【问题讨论】: