【NiFi csv to mysql系列】一 csv to json

Apache Nifi 文本格式轉(zhuǎn)換 csv->json

Abstract:本文的主要目的是展示如何使用nifi 1.2 中的processor將csv格式的文件轉(zhuǎn)換為json格式的文件。nifi中的convertRecord processor能夠完成不同格式的文件之間的相互轉(zhuǎn)換。
涉及到的處理器以及功能

  • GetFile:從指定的路徑中讀取文件
  • UpdateAttribute:對flowfile的屬性進行更新,添加更改或者刪除flowfile的屬性
  • ConvertRecord:通過指定Reader和Writer的類型,完成文件格式轉(zhuǎn)換
  • PutFile:將FlowFile寫入到指定路徑

整體流程圖

整體流程圖

細節(jié)說明

GetFile:讀取文件。

property說明:

  • Input Directory:輸入文件的路徑
  • File Filter:對文件名進行過濾,將不符合的文件過濾掉
  • Keep Source File:默認情況下,會將源文件刪除


UpdateAttribute

property說明:

  • schema.name:在flowfile中添加一個屬性,并設(shè)定取值


ConvertRecord:轉(zhuǎn)換文件格式

首先添加一個Record Reader和Record Writer,對于Record Reader,我們選擇的是CSVReader,因為我們讀取的文件是CSV格式,這個需要根據(jù)讀取文件的格式選擇。對于RecordWriter,我們選擇的是JsonRecordSetWriter。


對于Record Reader而言,我們可以看到右側(cè)有一個小箭頭,點擊箭頭來對CSVReader進一步設(shè)置。


Schema Access Strategy:這里我們選擇通過Schema Name來找到對應(yīng)的schema
Schema Registry:需要選擇Scheme Registry的類型,這里選擇的是AvroSchemaRegistry,右側(cè)又出現(xiàn)一個小箭頭,需要對AvroSchemaRegistry進行設(shè)置。

Record Write進行類似的設(shè)置即可。
當對Record Reader和Record Writer設(shè)置完之后,如下圖所示:


每一行的最右邊有一個類似閃電的圖標,點擊該圖標可以使對應(yīng)的property生效

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容