ETL工具-nifi干货系列 第八讲 处理器PutDatabaseRecord 写数据库(详细)

1、本节通过一个小例子来讲解下处理器PutDatabaseRecord,该处理器的作用是将数据写入数据库。

如下流程通过处理器GenerateFlowFile 生成数据,然后通过处理器JoltTransformJSON转换结构,最后通过处理器PutDatabaseRecord将数据写入数据库。如下图所示

2、处理器GenerateFlowFile 生成自定义数据,如下图所示

3、处理器JoltTransformJSON转换结构,将结构转换成适合表字段的结构,此时有两种方式驼峰和下划线两种方式。下图采用驼峰方式

4、处理器PutDatabaseRecord将数据写入数据库,此处理器需要配置两个控制器,Record Reader和Database Connection Pooling Service 两个控制器。

Record Reader

指定用于解析传入数据并确定数据模式的控制器服务。

Database Type

数据库的类型/版本,用于生成特定于数据库的代码。在许多情况下,通用类型应该足够,但某些数据库(例如Oracle)需要自定义的SQL子句。这里我们选择mysql

Statement Type

支持常见的sql语句类型,如增删改查,我们这里选择insert

Data Record Path

指定数据记录的路径,该路径确定了要发送到目标数据库的记录。

Database Connection Pooling Service

配置数据库连接池信息,如下图所

Catalog Name

SQL语句应该更新的目录名称

Schema Name

database 名称

Table Name

表名

Translate Field Names

如果设置为 true,处理器将尝试将字段名翻译为指定表格的相应列名。如果设置为 false,字段名必须与列名完全匹配,否则列将不会被更新。

Unmatched Field Behavior

未匹配的字段行为,自己根据要求进行选择。未匹配的字段行为,自己根据要求进行选择策略。

Unmatched Field Behavior

如果传入记录没有数据库表的所有列的字段映射,该属性指定如何处理这种情况。

其他属性如果感兴趣的可以自行尝试配置。

5、大功告成,查看表my_user,数据已经写入,这里为了演示方便,所以user_id 没有设置唯一健。

相关推荐
专业软件系统开发16 分钟前
药品说明书查询系统源码 本地数据库 PHP版本
数据库·查询系统源码·说明书查询源码
冉冰学姐4 小时前
SSM足球爱好者服务平台i387z(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·ssm 框架·足球爱好者服务平台
大飞记Python4 小时前
部门管理|“编辑部门”功能实现(Django5零基础Web平台)
前端·数据库·python·django
清风6666666 小时前
基于单片机的智能收银机模拟系统设计
数据库·单片机·毕业设计·nosql·课程设计
资深低代码开发平台专家6 小时前
PostgreSQL 18 发布
数据库·postgresql
与衫7 小时前
在 VS Code 里看清你的数据流向:Gudu SQL Omni 实测体验
数据库·sql
Element_南笙7 小时前
吴恩达新课程:Agentic AI(笔记2)
数据库·人工智能·笔记·python·深度学习·ui·自然语言处理
长安城没有风7 小时前
从入门到精通【Redis】Redis 典型应⽤ --- 分布式锁
数据库·redis·分布式
Ytadpole7 小时前
MySQL 数据库优化设计:优化原理和数据库表设计技巧
数据库·mysql·优化·索引·查询·检索·表设计