nifi之将上游的生成的sql语句写入到数据库中(六)

nifi之将上游的生成的sql语句写入到数据库中

在上一篇中我们已经成功的将数据转换成了sql语句,那么这一篇我们会将sql语句写进数据库中

PutSQL:通过Flowfile中的内容对数据库进行更新(flowfile包含的是一些数据库DDM语句

更改处理器名称

在这里插入图片描述

在这里插入图片描述

配置putsql处理器的属性

新建一个连接池

在这里插入图片描述

在这里插入图片描述

配置连接池

基本上与从数据库里面取数据的配置方法一样
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我的构想是这样的,数据基本上原理都一样,无论是mysql 还是sql server都是通过java驱动来进行读取和写入数据的,咱们这里是为了练习测试,所以小编决定再将数据写进同一个数据库中只不过不是同一个表

确保dest数据库中的表与我们取数据的表的字段格式是一样的

字段名称可以不一样,生成的sql语句里面的字段名称可以在上一篇自己配置
如果没有表,请创建一张测试表,和小编一样

在这里插入图片描述
在这里插入图片描述

开始配置

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

需要更改一下SpliteText处理器的属性配置

我们在上一篇文章中生成sql中,sql语句中我们需要插入的数据的表不对,我们需要改改.

在这里插入图片描述

在这里插入图片描述

创建自连接

因为到了这里就是一个结束了,不需要下游了,可以让他自连接了就

在这里插入图片描述

启动查看效果

可以看到我们的表中是空的
在这里插入图片描述
执行开始

在这里插入图片描述

出现报错

在这里插入图片描述
原因是我们忘了配置数据库账号密码了
在这里插入图片描述

重新开始

同理全部处理器停止
在这里插入图片描述
在这里插入图片描述

检查数据库

在这里插入图片描述
在这里插入图片描述

结束语

到这里,这个总体也就结束了,感谢大家的陪伴,下一步,小编在编写一下实时同步数据库的数据

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
NiFi使用ExecuteScript执行Python脚本获取数据库连接,执行SQL,可以按照以下步骤进行操作: 1. 在NiFi创建一个ExecuteScript处理器,并选择要执行的脚本语言为Python。 2. 编写Python脚本,获取数据库连接,执行SQL并返回结果。以下是一个简单的示例: ```python from org.apache.nifi.processor.io import StreamCallback from org.apache.nifi.processor.util import StandardCharsets from org.apache.nifi.processor import * from java.io import BufferedReader, InputStreamReader import java.sql class PyStreamCallback(StreamCallback): def __init__(self): pass def process(self, inputStream, outputStream): connection = java.sql.DriverManager.getConnection('jdbc:mysql://localhost:3306/test', 'username', 'password') statement = connection.createStatement() resultSet = statement.executeQuery('SELECT * FROM table') while resultSet.next(): value = resultSet.getString('column_name') outputStream.write(bytearray(value, StandardCharsets.UTF_8)) flowFile = session.get() if flowFile != None: flowFile = session.write(flowFile, PyStreamCallback()) session.transfer(flowFile, REL_SUCCESS) ``` 在这个脚本,我们首先导入了需要使用的Java类,包括StreamCallback、StandardCharsets、Processor等。然后定义了一个名为PyStreamCallback的类,继承自StreamCallback,用于处理输入流和输出流。 在process方法,我们使用Java的JDBC API获取数据库连接,执行SQL语句,并将结果输出到输出流。最后,我们使用NiFi的API将处理后的流传输到下一个处理器。 3. 配置ExecuteScript处理器的属性,包括Python解释器路径、脚本文件路径等。 4. 运行NiFi流程,执行Python脚本获取数据库连接,执行SQL并返回结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘帅0952

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值