我们在群集中有5年的数据,我们每天都在加载数据。每天添加的数据可能包含重复数据,部分修改的数据等。
1。如何处理重复数据 - 应该作为高级编程接口pig,hive等的一部分进行处理..或任何其他替代方案。
使用hadoop eco系统组件对数据进行建模的最佳方法是什么。
答案 0 :(得分:0)
如何处理重复数据
很难从HDFS原始数据中删除重复项,
所以我猜您的方法是正确的:在加载这些数据时使用pig
或hive
删除。
假设有一个用例来找出两个记录之间的变化,给出了找到该行的关键。
对于这种情况,您是否意味着两个记录具有相同的密钥?
然后你要捕捉什么样的变化?
答案 1 :(得分:0)
当你这么说时,你需要删除重复项以及当你知道密钥时两条记录之间的增量,你应该有一些标准,以便在部分更改数据的情况下删除哪些数据。
在这两种情况下,您都可以拥有键的句柄并编写逻辑来删除重复项。考虑到基于密钥的并行性,性能和管理能力, Map reduce 似乎是一个不错的选择。大多数情况下,您的要求可以在reducer中处理
答案 2 :(得分:0)
查看Sqoop-merge
是否适合您的使用案例。
来自doc: 合并工具允许您组合两个数据集,其中一个数据集中的条目应覆盖旧数据集的条目。例如,在最后修改模式下的增量导入运行将在HDFS中生成多个数据集,其中每个数据集中会连续出现更新的数据。合并工具将“变平”"将两个数据集合并为一个,获取每个主键的最新可用记录。