惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

有赞技术团队
有赞技术团队
H
Hackread – Cybersecurity News, Data Breaches, AI and More
I
InfoQ
J
Java Code Geeks
Microsoft Security Blog
Microsoft Security Blog
G
Google Developers Blog
D
DataBreaches.Net
Recent Announcements
Recent Announcements
Microsoft Azure Blog
Microsoft Azure Blog
B
Blog RSS Feed
Y
Y Combinator Blog
博客园 - 【当耐特】
博客园 - 聂微东
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
大猫的无限游戏
大猫的无限游戏
P
Proofpoint News Feed
量子位
C
Check Point Blog
F
Fortinet All Blogs
罗磊的独立博客
Last Week in AI
Last Week in AI
GbyAI
GbyAI
L
LangChain Blog
博客园 - 司徒正美

博客园 - 自由港

postgres 支持全文索引 查看 milvus 中的数据 查询数据库锁死情况 使用 keepalived 实现 tendis 高可用 部署tendis IDEA 运行 main 方法导致整个项目 install 自定义classloader hive 基础操作 在 服务器部署 seatunnel web服务 使用 seatunnel web 设计一个数据同步 如何 运行 seatunnel web 开发版 使用 seatunnel 实现数据同步 avro 数据入门 NIFI国际化 使用 NIFI读取EXCEL 数据到数据库 NIFI 使用HTTP 作为数据源接收数据 使用NIFI 同步数据库表 切换JDK NIFI实现配置分发
使用 NIFI监控数据库表
自由港 · 2025-11-06 · via 博客园 - 自由港

1.概述

本文使用 NIFI 实现如何监控某一个数据库表的变化,并将数据库变化写入到文件中。
这中间使用到了

  • CaptureChangeMySQL
    关注数据库变化,及数据库表所有的变化都会被捕获,这个是实时处理的
  • EvaluateJsonPath
    从数据中抽取部分数据,放到 flowfile 的属性中
  • UpdateAttribute
    更新 flowfile 的 filename 属性
  • PutFile
    负责将flowfile 以指定filename 属性写入到文件系统中

2. 配置过程

2.1 配置 CaptureChangeMySQL

image
这里配置我需要监控的 数据库,数据库表,并填写 数据库节点用户名密码

2.2 配置EvaluateJsonPath

这个步骤的作用是将 一条记录的属性抽取到 flowfile 的属性中

image

这里增加两个属性,这里使用的是 json path 获取 table_name 和 timestamp 时间戳。

至于我怎么知道需要这样获取。我们可以使用 nifi 的 特性,即

image

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

队列中。

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

image

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

image

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

image

点击查看内容

image

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

2.3 配置 UpdateAttribute

image

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

2.4 配置

image

这里只需要配置一下写入的目录。

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

image

这里只是 演示了一下 NIFI的基础功能及配置过程。