簡體   English   中英

蜂巢中的增量方法

[英]Incremental approach in hive

我有一個像下面的源表Source表:Day1:表

id值start_date 100 v1 2017-01-01 101 v2 2017-02-01

應該像下面那樣加載Day1數據目標表ID值start_date end_date 100 v1 2017-01-01 2099-12-31 101 v2 2017-02-01 2099-12-31

在第2天,應根據條件source.value <> target.value插入新記錄。

新記錄的end_date應該是2099-12-31,上一行end_date應該用當前日期更新,如目標表下方

id值start_date end_date 100 v1 2017-01-01 2017-09-19 100 v2。 2017-01-01 2099-12-31 101 v2 2017-02-01 2017-09-19 101 V3 2017-02-01 2099-12-31

請注意,源表每天都會刷新。

請幫助我獲得上面提到的目標表。

您應該在定稿和采取行動之前考慮以下幾點,例如...

  1. 記錄數非常大,請使用Hbase來存儲數據,因為允許進行更新,並構建引用相同的hive外部表。我懷疑這是否會影響使用帶有大型ORC hive表的hive-hbase表的聯接的查詢。記錄使用HDP建議的增量負載, https: //hortonworks.com/blog/four-step-strategy-incremental-updates-hive/

  2. 如果出了問題怎么辦? HDP方法的第4步將刪除基表並使用新數據重新創建。 考慮幾天后您發現數據有問題,如何刪除base_table? 如果您有答案,請選擇HDP方法

  3. 方法3:之所以選擇第1點,是因為Hbase支持更新,但是hive不支持更新(我想這是您的理解)。 是的,您的理解對於舊的配置單元版本是正確的。 但是更新可從Hive 0.14開始

https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DML#LanguageManualDML-更新

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM