1. 程式人生 > >kettle學習筆記(五)——kettle輸出步驟

kettle學習筆記(五)——kettle輸出步驟

一、概述

  資料庫表:
    • 表輸出
    • 更新,刪除,插入/更新
    • 批量載入(mysql,oracle)
    • 資料同步
  檔案:
    • SQL 檔案輸出
    • 文字檔案輸出
    • XML 輸出
    • Excel Output/Excel Writer
  其他(報表、應用

二、資料庫輸出

  1.表輸出

    使用SQL的方式向資料庫插入資料(INSERT)

    支援批量提交

    支援分割槽(Date分割槽)

    支援欄位對映

    支援返回自增列

  這裡提示一下出現表輸出的中文亂碼問題的解決方案:

  設定連線編碼:characterEncoding utf8

  

  設定連線編碼一般就可以正常輸出不亂嗎的字元了。如果還有問題,可以繼續設定客戶端編碼

  設定客戶端:set names utf8;

  

   一個測試的表輸出如下:

  

  如果選擇分割槽,需要選擇Date欄位進行分割槽,並且需要手動建立表(例如按月分割槽,有201804 201805兩個月,則需要建立tb_201804 tb_201805兩個表)

  2.返回自增主鍵

    表輸出的配置如下:

  

  預覽即可檢視返回的主鍵:

  

  3.資料庫欄位對映

    前面步驟可以後後面表輸出進行欄位對映匹配:

    表輸出配置如下:

  

  欄位對映:

    使用猜一猜可以進行名稱匹配,如果需要手動匹配,可以左右分別選擇,點選Add即可!

    並且對映完成之後也可以刪除丟棄某些欄位

  

  4.其它操作——刪除、更新、插入更新

    刪除:

      根據關鍵字匹配,刪除資料庫中已有的資料。

    更新:

      根據關鍵字匹配,更新資料庫中已有的資料。

    插入更新:

      有則更新,無則插入。

  操作都是類似,上面進行匹配,下面進行處理:

  

  5.資料同步

    基於比較的同步方式。根據一個flag欄位執行相應的插入/更新/刪除操作。

    配置圖如下:使用合併後的flag欄位(可能有new deleteed等flag),後續再根據此flag,同步變化的資料到表1

    

  6.批量載入

    使用流方式載入資料

  

  

  MySQL批量載入需要在Linux環境執行(有命令只能在Linux下執行)

  Oracle需要本地有oracle客戶端(sqlldr檔案,在Oracle安裝目錄下查詢)

 三、檔案輸出

  1.SQL檔案輸出

    根據選中的資料庫型別,生成相應的 SQL 指令碼(DDL,DML)。

    

  2.excel檔案輸出

    注意2007以前的版本有65536的行數限制:

    

   3.文字檔案輸出

    比如txt json等,暫不贅述

 四、其它輸出

  1.報表輸出

生成報表(pdf,excel,html等格式),需要事先定義好報表模板。

  2.XML輸出

    同樣,暫不贅述