6- ABC遷移大數據2

1.存儲過程遷移方法:

存儲過程的遷移我們直接用單個的HQL腳本里進行邏輯的遷移,需要注意的點是,在過程裏有一些不需要落地的臨時表(先delete再insert),以及最終的結果表需要落地(先delete再insert)。如下圖:

在HQL腳本里,臨時表(刪除表後再重建表),結果表覆蓋方式重寫指定分區數據(overwrite)。如下圖:

 

2.包遷移方法:

包的遷移,我們可以理解爲包是由多個過程組成的,拆分成上面的過程遷移方式,生成多個HQL腳本,在調用的時候跟據包的順序執行就可以了。

 

3.函數遷移方法:

函數遷移中,我們首先看是否可以採用HQL腳本實現函數的邏輯,如果做不到,我們需要自己在HIVE中編寫自定義的函數,自定義的函數編寫比較長,可以單獨寫一遍文單介紹。然後發佈到HIVE環境中,就可以直接使用,像使用sum,avg等這樣的函數一樣。目前HIVE自帶的函數很豐富了,基本會滿足我們的需求。

 

4.調度遷移:

在關係庫中,我們調度採用的是JOB,以及包和過程裏的調用關係。在HIVE中,我們遷移的只有單個的HQL腳本,如何按照關係庫的調度和調用關係來讓HQL腳本執行,最原始的方法是我們編寫一個SH腳本,通過SH腳本來調用HQL腳本,這裏可以做到串行,並行調用,如下圖:

程序邏輯的調用和執行關係完成了,如何達到我們的JOB定時執行呢,我們也是採用linux的crontab命令。如下圖說明:

具體樣例腳本見:https://github.com/blt328/abc_hive下載.

更多技術文章請關注公衆號BLT328(長按後點識別圖中二維碼):

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章