kettle實戰

1.mysql->mysql(徹底同字段數據同步)

  固然,實際此種狀況固然能夠選擇navicathtml

  1)打開spoon,鏈接資源庫(推薦)node

  2)新建轉換,以後在主對象樹新建數據庫鏈接並右鍵共享(統一數據源管理)mysql

  3)拖入一個表輸入,配置鏈接信息,獲取SQL語句,完成表輸入配置(無變量狀況)sql

  

 

 

     4)拖一個表輸出(須要在目的庫中先建表),選擇目標表,獲取字段,輸入字段映射數據庫

    

 

 

 

    5)運行轉換,查看日誌優化

2.mysql->mysql(目的庫增長來源、系統時間兩個字段)

  若是按照常規的使用自定義常量數據,將會報錯以下:url

  

 

 

   根據網友提示,使用核心對象->轉換->增長常量:spa

  

 3.簡單數據增量同步

  基本參考:https://blog.csdn.net/aganliang/article/details/84995294.net

  此方式的弊端,參考上述連接。此方式有個缺陷是每一個表都須要一個表來記錄加載時間,能夠優化爲一個總表彙總3d

  經過增長設置常量等組件,不過SQL語句等就須要寫死一些表名了,也不利於拓展

  1)首先新建一個表用於記錄同步時間(此處採用和資源庫相同的庫保存此表)

CREATE TABLE `etl_time_actor` ( `last_load_time` datetime NULL DEFAULT '1970-01-01 00:00:00' COMMENT '上次同步時間' , `curent_load_time` datetime NULL COMMENT '當前時間' ) COMMENT='etl同步時間' ;

 2)第一個轉換用於將當前時間內存入current_load_time字段中:

 

   

 

     

  // 經過current_load_time這個表字段來進行判斷

 

   3).第二個轉換用於抽取增量數據

    首先第一個轉換設置的時間:

    

 

 

     而後經過參數提取增量數據(時間從前一步讀取)

    

    注意要勾選替換變量!

 

     最後插入增量數據(選擇裁剪表則會對數據進行清空,再插入)

    

 

 

 

 

   4)第三個轉換,將上次加載時間設置爲本次時間,方便下次作增量

     

   5)這樣咱們將幾個轉換串起來,增量提取簡易版就算完成了

    

4.簡單同步到hive

   參考以前隨筆創建hive鏈接:https://www.cnblogs.com/jiangbei/p/9372275.html

  注意使用後臺nohub啓動:

    nohup  hive --service hiveserver2 &

  請注意須要關閉namanode和datanode的防火牆!

  簡單的拉個輸入輸出:

    

相關文章
相關標籤/搜索