我們在集羣中擁有5年的數據,並且我們每天都在加載數據。每天添加的數據可能包含重複數據,部分修改後的數據等。處理增量數據 - Hadoop
1。如何處理重複數據 - 應該作爲高級編程接口豬,配置單元等的一部分進行處理。
- 說出是否有用於查找兩個記錄之間發生更改的用例,以找出該行的關鍵字。
建模數據的最佳方式是什麼,使用hadoop eco系統組件。
我們在集羣中擁有5年的數據,並且我們每天都在加載數據。每天添加的數據可能包含重複數據,部分修改後的數據等。處理增量數據 - Hadoop
1。如何處理重複數據 - 應該作爲高級編程接口豬,配置單元等的一部分進行處理。
建模數據的最佳方式是什麼,使用hadoop eco系統組件。
如何處理重複數據
這是非常難以從HDFS的原始數據刪除重複, 所以我想你的方法是正確的:使用pig
或hive
而加載這些數據刪除。
說出是否存在用於查找兩條記錄之間發生更改的用例,以找出該行的關鍵字。
對於這種情況,您是否意味着兩個記錄具有相同的密鑰?
然後你想捕捉什麼樣的變化?
當你這樣說的時候,當你知道密鑰時,你需要刪除重複項以及兩個記錄之間的增量,你應該有一些標準,在部分改變的數據的情況下刪除哪些數據。
在這兩種情況下,您都可以擁有密鑰句柄和寫入邏輯來刪除重複項。 映射減少似乎是一個不錯的選擇,考慮到基於密鑰的並行性,性能和管理能力。大多數情況下,您的要求可以在減速器中處理
看看Sqoop-merge
是否適合您的使用案例。
來自文檔: 合併工具允許您合併兩個數據集,其中一個數據集中的條目應覆蓋舊數據集的條目。例如,以最後修改模式運行的增量導入將在HDFS中生成多個數據集,並在每個數據集中出現連續較新的數據。合併工具會將兩個數據集「拼合」爲一個,爲每個主鍵創建最新的可用記錄。
數據源是xml文件,sqoop可以處理 – Nag
@srihay sqoop合併需要數據集的主要id,並將新值覆蓋到舊值上。現在,這個值可以是任何東西(XML,JSON,文本等) –
感謝您的快速回復。我們想要捕獲是否有與記錄相關的字段發生變化,並通知利益相關方這種變化 – Nag