1. 程式人生 > >kettle學習筆記(九)——子轉換、集群與變量

kettle學習筆記(九)——子轉換、集群與變量

bec param TP 一個 字段 暴露 空格 參數用法 用法

一、概述

  kettle中3個重要的步驟:

    子轉換/映射

      在轉換裏調用一個子轉換,便於封裝和重用。

    集群

      集群模式

    變量和參數

      變量和參數的用法

二、子轉換

  1.定義子轉換

    主要由映射輸入與映射輸出定義:

    技術分享圖片

    這裏給出一個從kettle自帶的samples中拿出來的示例,詳情配置,參考kettle示例

    技術分享圖片

    保存這個轉換(可以是文件,也可以在資源庫),這就是子轉換了!

  2.調用子轉換

    技術分享圖片

    子轉換的配置:

    技術分享圖片

    整個調用的示例如下:

    技術分享圖片

    // 詳細,查看kettle示例

三、集群

  Kettle 集群是一個分布式的運行環境,由一個主節點和多個子節點構成。

  主節點調度在子節點上處理不同的數據行,子節點把處理後的結果再提交到主節點。

  (本機模擬可以通過carte不同端口來模擬啟動,然後在kettle的子服務器中配置,默認集群用戶名cluster/cluster,然後在kettle集群中添加集群)

  使用的方式在步驟右擊,選擇集群進行配置

四、參數和變量

   1.參數

   參數分為位置參數(arg)和命名參數(param),變量則和之前介紹的一樣。

  一個使用參數的示例如下:

  技術分享圖片

  技術分享圖片

  技術分享圖片

  技術分享圖片

  命名參數用法類似,之前也有介紹,使用age > ${arg1}

  如果使用命令行方式,則:

pan test.ktr 18

  // 如有空格,需要加雙引號

  2.變量

  變量有作業下的設置變量和獲取變量兩種用法,分別對應將字段設置為字段和將變量設置為字段

  技術分享圖片

  // 特別註意,設置的變量只能其它轉換使用!!!

  技術分享圖片

  使用的方式,類似如下:(作業中設置變量環節)

    技術分享圖片

  kettle.properties中同樣支持設置變量(註意重啟spoon)

  並且,kettle.properties是支持密文的,這樣就不用使用明文暴露密碼了:

  命令行下執行
    encr -kettle 123
  命令
    得到 123 對應的密碼是 2be98afc86aa7f2e4cb79ce10bec3fd89


  直接在 kettle.properties 文件裏設置
    Password = Encrypted 2be98afc86aa7f2e4cb79ce10bec3fd89

kettle學習筆記(九)——子轉換、集群與變量