Kettle讀取mysql數據存入Hive分區表中,使用Impala查詢


 

 

 

 

 

 

操作步驟

 1)TmpBstAggZwTktModelD

     按天讀取Mysql表數據bst_agg_zw_tkt_model_d,存入hive臨時表tmp_bst_agg_zw_tkt_model_d(臨時表采用txt格式,按年月日進行分區)

 

 

 

 

 

 

 

 

 

 

 

 2)HiveBstAggZwTktModelD

  連接hive,將臨時表tmp_bst_agg_zw_tkt_model_d的數據加載到bst_agg_zw_tkt_model_d(采用orc壓縮,按年月日進行分區)

 

 

 

 

 3)連接impala,刷新bst_agg_zw_tkt_model_d表

 

20200728更新

上面存在的問題:

 Hadoop File Output 組件設置如下

 

 Hadoop File Output ip寫死為bigdata01,HDFS HA下,bigdata01,bigdata02兩台機器會切換成active,standby狀態,如果kettle中Hadoopcluster組件寫死一個ip,比如bigdata02(當前bigdata02狀態為active),當bigdata02狀態變成standby時,輸出將會報錯

 

 

 目前解決辦法:

TmpBstRptYqTktSellHisD(bigdata01)

TmpBstAggZwTktModelD(bigdata02)

 

 

 

任一時刻,bigdata01,bigdata02只會存在一個狀態為active
當TmpBstAggZwTktModelD(bigdata01)執行失敗后(說明bigdata01狀態為standby,bigdata02為active),會執行TmpBstAggZwTktModelD(bigdata02),HiveBstAggZwTktModelD->刷新表分區
當TmpBstAggZwTktModelD(bigdata01)執行成功后(說明bigdata01狀態為active,bigdata01為standby),直接依次執行HiveBstAggZwTktModelD->刷新表分區

辦法雖笨,但還是能解決問題,若后續有更好的處理方法,再更進

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM