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

推荐订阅源

The Cloudflare Blog
L
LangChain Blog
WordPress大学
WordPress大学
V
V2EX
M
MIT News - Artificial intelligence
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Stack Overflow Blog
Stack Overflow Blog
J
Java Code Geeks
F
Fortinet All Blogs
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
腾讯CDC
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
D
Docker
Recent Announcements
Recent Announcements
GbyAI
GbyAI
博客园 - 叶小钗
小众软件
小众软件
Hugging Face - Blog
Hugging Face - Blog
T
The Blog of Author Tim Ferriss
人人都是产品经理
人人都是产品经理
Engineering at Meta
Engineering at Meta
Y
Y Combinator Blog
雷峰网
雷峰网
The GitHub Blog
The GitHub 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的基础功能及配置过程。