JoltTransformRecord

JoltTransformRecord


編輯人:酷酷的誠 郵箱:[email protected]


#描述

與JoltTransformJSON使用方法一樣,只是添加了輸入格式和輸出格式策略,都是使用Jolt轉換json,成功的路由到'success',失敗的'failure'。處理JSON的實用程序不是基於流的,因此大型JSON文檔轉換可能會消耗大量內存。目前支持UTF-8流文件內容和Jolt Spec。可以使用表達式語言定義Spec,其中可以在Spec語法的左側或右側引用屬性。支持自定義轉換(實現轉換接口)。包含當前類路徑上不存在的自定義庫的模塊可以通過自定義模塊目錄屬性包含。注意:在配置處理器時,如果用戶選擇了默認的轉換,但仍然提供了一個鏈Spec,那麼系統不會警告該Spec是無效的,並且會產生失敗的流文件。這是確定的一個已知問題。

#屬性配置

在下面的列表中,必需屬性的名稱以粗體顯示。任何其他屬性(不是粗體)都被認爲是可選的,並且指出屬性默認值(如果有默認值),以及屬性是否支持表達式語言。

屬性名稱 默認值 可選值 描述
Record Reader   Controller Service API:
RecordReaderFactory
Implementations:
Syslog5424Reader
GrokReader
JsonTreeReader
ScriptedReader
XMLReader
AvroReader
SyslogReader
CSVReader
JsonPathReader
指定用於解析傳入數據和確定數據模式的控制器服務。
Record Writer   Controller Service API:
RecordSetWriterFactory
Implementations:
CSVRecordSetWriter
AvroRecordSetWriter
ScriptedRecordSetWriter
XMLRecordSetWriter
FreeFormTextRecordSetWriter
JsonRecordSetWriter
指定用於解析輸出數據和確定數據模式的控制器服務。
Jolt Transformation DSL jolt-transform-chain Cardinality
Chain
Default
Modify -Default
Modify - Define
Modify - Overwrite
Remove
Shift
Sort
Custom
指定應該使用哪種Jolt轉換模式
Custom Transformation Class Name     自定義Jolt轉換工具類的全類名
Custom Module Directory     文件和/或目錄的路徑列表,其中包含包含自定義轉換的模塊(不包括在NiFi的類路徑中)。
Jolt Specification     JSON數據轉換Spec。如果選擇了Sort轉換,則忽略此值。
支持表達式語言:true(將使用流文件屬性和變量註冊表進行計算)
Transform Cache Size 1   編譯一個震盪轉換可能相當昂貴。理想情況下,這隻會做一次。但是,如果在轉換中使用了表達式語言,我們可能需要爲每個流文件進行新的轉換。這個值控制我們在內存中緩存多少個轉換,以避免每次編譯轉換。
Include Schema false true
false
如果爲true,美化輸出json的格式。

#連接關係

名稱 描述
success 成功地轉換json
failure 未成功地轉換json

讀取屬性:

沒有指定。

#寫屬性

Name Description
mime.type application/json

#狀態管理

此組件不存儲狀態。

#限制

此組件不受限制。

#輸入要求

此組件需要傳入連接關係。

#系統資源方面的考慮

沒有指定。

#應用場景

該組件使用開源JOLT庫來實現批量JSON轉換,JOLT目前是一個不基於流式的非常高效的json轉換庫,JOLT有自己定義的一套DSL。使用該組件需要先了解JOLT的知識,並編寫出相應的JOLT規範。這裏不做具體示例,可以直接參看JOLT教程

#公衆號

關注公衆號 得到第一手文章/文檔更新推送。

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