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

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

时间:2024-04-05 19:56:06浏览次数:48  
标签:nifi 数据库 写入 Record PutDatabaseRecord 处理器 数据 ETL

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 没有设置唯一健。

 

 

标签:nifi,数据库,写入,Record,PutDatabaseRecord,处理器,数据,ETL
From: https://www.cnblogs.com/zjBoy/p/18113590

相关文章

  • kettle从入门到精通 第五十一课 ETL之kettle Avro input
    1、我们在学习nifi的过程中有接触到Avroschema,当时我在想kettle应该也支持Avro,果不其然kettle也是支持Avro文件的读和写的。今天我们一起来学习下kettle中如何使用Avroinput读步骤。对Avro不了解的,可以学习文章ETL工具-nifi干货系列第四讲Avroschema序列化框架。打开spoo......
  • Cisco Unified Communications Manager (CallManager) 15.0 SU1 - 统一通信与协作
    CiscoUnifiedCommunicationsManager(CallManager)15.0SU1-统一通信与协作思科统一通信管理器(CallManager)请访问原文链接:https://sysin.org/blog/cisco-ucm-15/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org思科统一通信管理器企业统一通信和协作借助......
  • ETL工具-nifi干货系列 第七讲 处理器JoltTransformJSON(续)
    第六讲教程只简单介绍了Jolt的chain转换模式,本节课介绍下Jolt的各种转换模式。点击的处理器JoltTransformJSON高级配置选项,进行测试Jolt的转换模式。 1、Cardinality:更改了输入JSON数据元素的基数,适用于jsonObj和jsonList之间的转换。list转为obj input{"review......
  • ETL工具-nifi干货系列 第七讲 处理器JoltTransformJSON(续)
    第六讲教程只简单介绍了Jolt的chain转换模式,本节课介绍下Jolt的各种转换模式。点击的处理器JoltTransformJSON高级配置选项,进行测试Jolt的转换模式。1、Cardinality:更改了输入JSON数据元素的基数,适用于jsonObj和jsonList之间的转换。list转为objinput{"review......
  • ETL工具-nifi干货系列 第六讲 处理器JoltTransformJSON
    1、处理器作用使用Jolt转换JSON数据为其他结构的JSON,成功的路由到'success',失败的'failure'。处理JSON的实用程序不是基于流的,因此大型JSON文档转换可能会消耗大量内存。Jolt:JSON到JSON转换库,用Java编写,其中转换的"规范"或者描述文件本身就是一个JSON文档。2、属性......
  • 深入解析大数据体系中的ETL工作原理及常见组件
    **引言关联阅读博客文章:探讨在大数据体系中API的通信机制与工作原理关联阅读博客文章:深入理解HDFS工作原理:大数据存储和容错性机制解析**在当今数字化时代,大数据处理已经成为了企业成功的重要组成部分。而在大数据处理中,ETL(Extract,Transform,Load)是至关重要的一环,它......
  • 多目标应用:基于非支配排序的蜣螂优化算法(Non-Dominated Sorting Dung beetle optimize
    一、柔性作业车间调度问题柔性作业车间调度问题(FlexibleJobSchedulingProblem,FJSP)的描述如下:n个工件{J,J......
  • Netlify 就你妈傻逼
    因为脑残所以想从GithubPages转移到Netlify上。然后我他妈登陆Netlify告诉我账号有可疑行为被停用了。我可疑你妈呢?行行行,用manualverification行了吧?我现在等了快一周了还是什么消息都没有。注册一个新的号行了吧?收不到验证码。草这不是我的问题啊。几遍都收不到。......
  • 客快物流大数据项目(四十):ETL实现方案
    目录ETL实现方案一、ETL处理流程图二、为什么使用Kudu作为存储介质ETL实现方案一、​​​​​​​ETL处理流程图数据来源:来自于ogg同步到kafka的物流运输数据来自于canal同步到kafka的客户关系数据二、为什么使用Kudu作为存储介质数据库数据上的快速分析目前......
  • ETLCloud结合Oracle实现CDC
    CDC,即Change Data Capture(变更数据捕获)功能,主要针对实时数据同步和更新场景,能够实时监测数据库中的数据变化,并将发生变化的数据进行高效精准地捕获和传输,极大地提高了数据处理的效率以及系统的响应速度。在实际应用中,CDC功能对于对数据时效性要求极高的业务场景尤为关键,例如金......