1.概述
本文使用 NIFI 实现如何监控某一个数据库表的变化,并将数据库变化写入到文件中。
这中间使用到了
- CaptureChangeMySQL
关注数据库变化,及数据库表所有的变化都会被捕获,这个是实时处理的 - EvaluateJsonPath
从数据中抽取部分数据,放到 flowfile 的属性中 - UpdateAttribute
更新 flowfile 的 filename 属性 - PutFile
负责将flowfile 以指定filename 属性写入到文件系统中
2. 配置过程
2.1 配置 CaptureChangeMySQL

这里配置我需要监控的 数据库,数据库表,并填写 数据库节点用户名密码
2.2 配置EvaluateJsonPath
这个步骤的作用是将 一条记录的属性抽取到 flowfile 的属性中

这里增加两个属性,这里使用的是 json path 获取 table_name 和 timestamp 时间戳。
至于我怎么知道需要这样获取。我们可以使用 nifi 的 特性,即

我们可以启动第一个CDC ,停掉 之后的任务,这样数据存在于

队列中。
比如我们在数据库表中增加一条记录,在 右键在画布中 选择 refresh 刷新。

我们看到队列中有一条数据。

可以看到队列中的数据内容。

点击查看内容

数据是一个JSON,我们可以根据 JSON path 获取 数据中的内容。
2.3 配置 UpdateAttribute

这里我们修改 filename 属性,为表名_时间戳.json
2.4 配置

这里只需要配置一下写入的目录。
配置完成后,我们点击启动,我们模拟对数据进行增改删,就会看到 putfile 配置的目录下增加了JSON文件。

这里只是 演示了一下 NIFI的基础功能及配置过程。
浙公网安备 33010602011771号