![](/img/trans.png)
[英]Hive - How to track and update Last Modified date in Hive for delta tables?
[英]Update delta records in hive table
我有一個表,其中的歷史數據大於TB大小,我將每天接收增量(更新的信息)記錄,這些記錄將以GB大小存儲在增量表中。 現在,我想將增量記錄與歷史記錄進行比較,並使用增量表中的最新數據更新歷史記錄表。
在Hive中執行此操作的最佳方法是什么,因為我將要處理數百萬行。 我在網上搜索后發現以下方法。
http://hortonworks.com/blog/four-step-strategy-incremental-updates-hive
但是我認為這不是性能方面的最佳方法。
在最新配置單元(0.14)中,您可以進行更新。 您需要通過搜索鍵將表保持為ORC格式和存儲桶。
哦,我需要添加此鏈接以獲取更多信息: Hive Transactions
另外:您是否擁有良好的分區鍵,以便更新僅在最新的分區上有效? 最好執行以下操作:
從所需分區中獲取數據到臨時表(T1)
假設T2是帶有更新記錄的新表。 需要以與T1相同的方式進行分區
請記住,這些操作可能不是原子操作,並且在發生第5步和第6步期間,在T1上運行的任何查詢都可以得到中間結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.