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

Apache Nifi 文本格式转换 csv->json

Abstract:本文的主要目的是展示如何使用nifi 1.2 中的processor将csv格式的文件转换为json格式的文件。nifi中的convertRecord processor能够完成不同格式的文件之间的相互转换。

涉及到的处理器以及功能

GetFile:从指定的路径中读取文件

UpdateAttribute:对flowfile的属性进行更新,添加更改或者删除flowfile的属性

ConvertRecord:通过指定Reader和Writer的类型,完成文件格式转换

PutFile:将FlowFile写入到指定路径

整体流程图

bbbde6b8d1dcc75fc081af01a1540b73.png

整体流程图

细节说明

GetFile:读取文件。

property说明:

Input Directory:输入文件的路径

File Filter:对文件名进行过滤,将不符合的文件过滤掉

Keep Source File:默认情况下,会将源文件删除

02690800e5b3842b07f6cd294903bca5.png

UpdateAttribute

property说明:

schema.name:在flowfile中添加一个属性,并设定取值

c49532551130e5a8d038da81b93603c3.png

ConvertRecord:转换文件格式

首先添加一个Record Reader和Record Writer,对于Record Reader,我们选择的是CSVReader,因为我们读取的文件是CSV格式,这个需要根据读取文件的格式选择。对于RecordWriter,我们选择的是JsonRecordSetWriter。

ce8d93cd2b0e5a5638c9bb6eee39b687.png

对于Record Reader而言,我们可以看到右侧有一个小箭头,点击箭头来对CSVReader进一步设置。

a9d0d23c90d6990b739daba7274c6825.png

Schema Access Strategy:这里我们选择通过Schema Name来找到对应的schema

Schema Registry:需要选择Scheme Registry的类型,这里选择的是AvroSchemaRegistry,右侧又出现一个小箭头,需要对AvroSchemaRegistry进行设置。

769b6ac90a7089be9df6d1a5bd9432cf.png

Record Write进行类似的设置即可。

当对Record Reader和Record Writer设置完之后,如下图所示:

913baf2509b4c120999e7600179a8ff2.png

每一行的最右边有一个类似闪电的图标,点击该图标可以使对应的property生效

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值