kettle從入門到精通 第五十一課 ETL之kettle Avro input ETL工具-nifi乾貨系列 第四講 Avro schema 序列化框架

1、我們在學習nifi的過程中有接觸到Avro schema,當時我在想kettle應該也支持Avro,果不其然kettle也是支持Avro文件的讀和寫的。今天我們一起來學習下kettle中如何使用Avro input 讀步驟。對Avro 不瞭解的,可以學習文章ETL工具-nifi乾貨系列 第四講 Avro schema 序列化框架

打開spoon,拖拉Avro input和寫日誌步驟到畫布,然後連線,如下圖所示:

 2、雙擊Avro input 步驟進行配置,如下圖所示:

Step name:自定義步驟名稱

Source-Format:數據來源格式,有Avro file,JSON datum,Binary datum,Avro file(use alternate schema),本次演示採用Avro file

Avro file(Avro 文件)

源材料位於單個位置。模式嵌入在數據中。
JSON datum(JSON 數據)
源材料位於不同位置。數據以JSON格式包含,並且模式與數據分離。
Binary datum(二進制數據)
源材料位於不同位置。數據以二進制格式包含,並且模式與數據分離。
Avro文件(使用備用模式)
源材料位於不同位置。模式與數據分離。

Source-Source:

from file,通過瀏覽選擇Avro 文件

from field,通過選擇前置步驟的字段進行設置

 3、Avro fields,本選項卡主要是提取Avro 數據文件中的字段,點擊Get fileds之後會自動填充,然後可以繼續進行調整設置,如下圖所示:

 Avro path (Avro type):Avro源的位置(及其格式類型)。

Indexed values:

Avro路徑集合中要使用的索引鍵。您可以使用此字段進行映射或數組擴展,從而將數組或映射值擴展爲返回多行數據。

要返回映射元素,請指定索引鍵。
要返回數組元素,請指定數組索引號,或者使用星號通配符 (*) 來返回數組的所有元素。
當此字段留空時,不會返回字段的數據。

Name:輸入字段的名稱。

Type:輸入字段的類型,例如String或Date。

Format:輸入字段的格式。

Pass through fields from previous step:

選擇之後將字段從上一步傳遞到下一步,同時將當前步驟中的字段傳遞到下一步。

清除選擇不將上一步字段傳遞到下一步。

Allow null values for missing paths or fields:

選擇以使用null值替換傳入數據中的缺失字段。
清除選擇以不使用null值替換缺失字段。

4、Lookup fields

你可以使用查找字段選項卡創建變量,並將它們映射到特定字段,以在解碼時用作對 Avro 結構的查找。

更多細節可以參考官網文檔https://docs.hitachivantara.com/r/en-us/pentaho-data-integration-and-analytics/10.1.x/mk-95pdia003/pdi-transformation-steps/avro-input/options/lookup-fields-tab

 

 

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