PiflowX组件-JDBCWrite
JDBCWrite组件
组件说明
使用JDBC驱动向任意类型的关系型数据库写入数据。
计算引擎
flink
有界性
Sink: Batch
Sink: Streaming Append & Upsert Mode
组件分组
Jdbc
端口
Inport:默认端口
outport:默认端口
组件属性
| 名称 | 展示名称 | 默认值 | 允许值 | 是否必填 | 描述 | 例子 |
|---|---|---|---|---|---|---|
| url | Url | “” | 无 | 是 | JDBC数据库url。 | jdbc:mysql://127.0.0.1:3306/dbname |
| driver | Driver | “” | 无 | 否 | 用于连接到此URL的JDBC驱动类名,如果不设置,将自动从URL中推导。 | com.mysql.cj.jdbc.Driver |
| username | Username | “” | 无 | 否 | JDBC用户名。如果指定了username和password中的任一参数,则两者必须都被指定。 | root |
| password | Password | “” | 无 | 否 | JDBC密码。 | 123456 |
| tableName | DBTable | “” | 无 | 是 | 连接到JDBC表的名称。 | test |
| connectionMaxRetryTimeout | ConnectionMaxRetryTimeout | 60s | 无 | 否 | 最大重试超时时间,以秒为单位且不应该小于 1 秒。 | 60s |
| tableDefinition | TableDefinition | “” | 无 | 是 | Flink table定义。 | |
| properties | PROPERTIES | “” | 无 | 否 | 连接器其他配置。 |
JDBCWrite示例配置
{"flow": {"name": "JDBCWriteTest","uuid": "1234","stops": [{"uuid": "0000","name": "JDBCExecuteSql1","bundle": "cn.piflow.bundle.flink.jdbc.JDBCExecuteSql","properties": {"url": "jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false&allowMultiQueries=true","username": "root","password": "123456","driver": "com.mysql.cj.jdbc.Driver","sql": "CREATE TABLE IF NOT EXISTS `test` (`id` int DEFAULT NULL,`name` varchar(20) DEFAULT NULL,`age` int DEFAULT NULL);"}},{"uuid": "1111","name": "DataGen1","bundle": "cn.piflow.bundle.flink.common.DataGen","properties": {"schema": "[{\"filedName\":\"id\",\"filedType\":\"INT\",\"kind\":\"sequence\",\"start\":1,\"end\":10000},{\"filedName\":\"name\",\"filedType\":\"STRING\",\"kind\":\"random\",\"length\":15},{\"filedName\":\"age\",\"filedType\":\"INT\",\"kind\":\"random\",\"max\":100,\"min\":1}]","count": "100","ratio": "50"}},{"uuid": "2222","name": "JDBCWrite1","bundle": "cn.piflow.bundle.flink.jdbc.JDBCWrite","properties": {"url": "jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false&allowMultiQueries=true","username": "root","password": "123456","tableName": "test","tableDefinition": "{\"catalogName\":null,\"dbname\":null,\"tableName\":\"\",\"ifNotExists\":true,\"physicalColumnDefinition\":[{\"columnName\":\"id\",\"columnType\":\"INT\",\"comment\":\"id\"},{\"columnName\":\"name\",\"columnType\":\"STRING\",\"comment\":\"name\"},{\"columnName\":\"age\",\"columnType\":\"INT\"}],\"metadataColumnDefinition\":null,\"computedColumnDefinition\":null,\"watermarkDefinition\":null}","properties": "{}"}},{"uuid": "3333","name": "JDBCRead1","bundle": "cn.piflow.bundle.flink.jdbc.JDBCRead","properties": {"url": "jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false&allowMultiQueries=true","username": "root","password": "123456","tableName": "test","tableDefinition": "{\"catalogName\":null,\"dbname\":null,\"tableName\":\"\",\"ifNotExists\":true,\"physicalColumnDefinition\":[{\"columnName\":\"id\",\"columnType\":\"INT\",\"comment\":\"id\"},{\"columnName\":\"name\",\"columnType\":\"STRING\",\"comment\":\"name\"},{\"columnName\":\"age\",\"columnType\":\"INT\"}],\"metadataColumnDefinition\":null,\"computedColumnDefinition\":null,\"watermarkDefinition\":null}","properties": "{}"}},{"uuid": "4444","name": "ShowData1","bundle": "cn.piflow.bundle.flink.common.ShowData","properties": {"showNumber": "100"}}],"paths": [{"from": "JDBCExecuteSql1","outport": "","inport": "","to": "DataGen1"},{"from": "DataGen1","outport": "","inport": "","to": "JDBCWrite1"},{"from": "JDBCWrite1","outport": "","inport": "","to": "JDBCRead1"},{"from": "JDBCRead1","outport": "","inport": "","to": "ShowData1"}]}
}
示例说明
-
首先使用
JDBCExecuteSql组件执行建表DDL语句,往数据库添加表; -
使用
DataGen组件生成100条测试数据; -
使用
JDBCWrite组件将测试数据写入到数据库; -
验证写入的结果,使用
JDBCRead组件读取数据,并使用ShowData组件将结果打印在控制台。
演示DEMO

相关文章:
PiflowX组件-JDBCWrite
JDBCWrite组件 组件说明 使用JDBC驱动向任意类型的关系型数据库写入数据。 计算引擎 flink 有界性 Sink: Batch Sink: Streaming Append & Upsert Mode 组件分组 Jdbc 端口 Inport:默认端口 outport:默认端口 组件属性 名称展示名称默…...
算法导论复习题目
这题需要考虑什么呢? 一换元,二要使用主方法猜出结果,三是证明的时候添加一个低阶项来消除 LC检索 C(x)是从上帝视角来看的成本 对C(x)的一个估计: 由两个部分组成,就相当于由以往的经验对未来…...
HTTPS协议详解
目录 前言 一、HTTPS协议 1、加密是什么 2、为什么要加密 二、常见加密方式 1、对称加密 2、非对称加密 三、数据摘要与数据指纹 1、数据摘要 2、数据指纹 四、HTTPS加密策略探究 1、只使用对称加密 2、只使用非对称加密 3、双方都使用非对称加密 4、对称加密非…...
菜鸟学习vue3笔记-vue3 router回顾
1、路由router pnpm i vue-router2、创建使用环境 1.src下创建 router文件夹、里面创建index.ts文件 //创建一个路由暴露出去//1.引入createRouter import { createRouter, createWebHistory } from "vue-router";// import Home from ../components/Home.vue//…...
Mybatis枚举类型处理和类型处理器
专栏精选 引入Mybatis Mybatis的快速入门 Mybatis的增删改查扩展功能说明 mapper映射的参数和结果 Mybatis复杂类型的结果映射 Mybatis基于注解的结果映射 Mybatis枚举类型处理和类型处理器 再谈动态SQL Mybatis配置入门 Mybatis行为配置之Ⅰ—缓存 Mybatis行为配置…...
2023 NCTF writeup
CRYPTO Sign 直接给了fx,gx,等于私钥给了,直接套代码,具体可以参考: https://0xffff.one/d/1424 fx [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…...
golang的大杀器协程goroutine
在Golang中,协程(Goroutine)是轻量级的执行单元,用于实现并发编程。它是Golang语言的重要组成部分,提供了简洁、高效的方式来处理并发任务。 特点: 1)轻量级:Go语言的协程是轻量级…...
[Angular] 笔记 9:list/detail 页面以及@Output
1. Output input 好比重力,向下传递数据,list 传给 detail,smart 组件传给 dumb 组件,父组件传给子组件。input 顾名思义,输入数据给组件。 output 与之相反,好比火箭,向上传递数据或事件。ou…...
Linux学习笔记(一)
如果有自己的物理服务器请先查看这篇文章 文章目录 网卡配置Linux基础指令ls:列出目录内容cd(mkdir.rmkdir): 切换文件夹(创建,删除操作)cp:复制文件或目录mv:文件/文件夹移动cat:查看文件vi:文件查看编辑man:查看命令手册more: 查看文件内容less : 查看文件内容 ps: 显示当前进…...
Python 爬虫 教程
python爬虫框架:Scrapyd,Feapder,Gerapy 参考文章: python爬虫工程师,如何从零开始部署ScrapydFeapderGerapy? - 知乎 神器!五分钟完成大型爬虫项目 - 知乎 爬虫框架-feapder - 知乎 scrap…...
uniapp原生插件 - android原生插件打包流程 ( 避坑指南一)
【彩带- 避坑知识点】: 当时开发中安卓插件打包成功后,uniapp引用插件aar,用云打包 ,总是提示不包含插件。原因是因为module的androidManifest.xml文件没有注册activity。 这一步 很重要,一定要注册。 --------------------------…...
搭建maven私服
maven maven简介 什么是maven? Maven这个单词来自于意第绪语(犹太语),意为知识的积累。 Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。 Maven 除了以…...
EST-100身份证社保卡签批屏按捺终端PC版web版本http协议接口文档,支持web网页开发对接使用
<!DOCTYPE html><html lang"zh-CN"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width,initial-scale1.0"><title>演示DEMO</title><script type"text/…...
基于SpringBoot的毕业论文管理系统
文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于SpringBoot的毕业论文管理系统,java…...
iToF人脸识别
iToF(间接飞行时间)是一种测量光飞行时间的技术,主要应用于人脸识别。 iToF人脸识别技术在哪些场景下会用到 iToF人脸识别技术可以应用于许多场景,以下是一些常见的应用场景: 平安城市:在城市监控系统中,iToF人脸识别技术可以用于实时监控、目标检测和识别,以及异常行为…...
Django开发3
Django开发3 Django开发编辑用户9.靓号管理9.1 表结构9.2 靓号列表9.3 新建靓号9.4 编辑靓号9.5 搜索手机号9.6 分页 10.时间插件11.ModelForm和BootStrap操作 各位小伙伴想要博客相关资料的话关注公众号:chuanyeTry即可领取相关资料! Django开发 部门管…...
MS2358:96KHz、24bit 音频 ADC
产品简述 MS2358 是带有采样速率 8kHz-96kHz 的立体声音频模数 转换器,适合于面向消费者的专业音频系统。 MS2358 通过使用增强型双位 Δ - ∑ 技术来实现其高精度 的特点。 MS2358 支持单端的模拟输入,所以不需要外部器 件,非常适…...
【Android12】Android Framework系列---tombstone墓碑生成机制
tombstone墓碑生成机制 Android中程序在运行时会遇到各种各样的问题,相应的就会产生各种异常信号,比如常见的异常信号 Singal 11:Segmentation fault表示无效的地址进行了操作,比如内存越界、空指针调用等。 Android中在进程(主要…...
中间件系列 - Redis入门到实战(原理篇)
前言 学习视频: 黑马程序员Redis入门到实战教程,深度透析redis底层原理redis分布式锁企业解决方案黑马点评实战项目 中间件系列 - Redis入门到实战 本内容仅用于个人学习笔记,如有侵扰,联系删除 学习目标 Redis数据结构Redis网…...
P2249 【深基13.例1】查找
P2249 【深基13.例1】查找 P2249 【深基13.例1】查找 题意 输入n 个不超过10的9次方的单调不减的(就是后面的数字不小于前面的数字)非负整数a1,a2,a3…然后进行 m 次询问。对于每次询问,给出一个整数q,要…...
LVDS协议解析:从差分信号原理到高速接口设计实战
1. LVDS协议基础:差分信号原理与硬件特性 第一次接触LVDS时,我被它那两根看似"镜像对称"的信号线搞糊涂了——为什么传输一个信号需要两根线?后来在调试一块高速图像采集卡时,当其他接口都受到电机干扰出现雪花噪点&…...
高速PCB设计中串扰的成因、影响与实战控制策略
1. 项目概述:高速硬件设计中的“隐形杀手”干了十几年硬件设计,从当年画双面板、用万用表调通就行的年代,一路做到现在动辄几十层、信号速率奔着几十Gbps去的复杂系统,感触最深的一点就是:很多问题,以前可以…...
多视角卷积神经网络(MVCNN)如何用二维图像实现三维物体识别?
多视角卷积神经网络(MVCNN)如何用二维图像实现三维物体识别? 【免费下载链接】mvcnn_pytorch MVCNN on PyTorch 项目地址: https://gitcode.com/gh_mirrors/mv/mvcnn_pytorch 在计算机视觉领域,三维物体识别一直是一个具有…...
【linux应用开发】Linux树形结构与说明
一、文件结构1.1 运行流程 在终端中,执行如下指令: ./build.shbuild.sh源码#!/bin/bash #删除build文件夹 rm -rf build/ #新建build文件夹 mkdir build #切换到build文件夹 cd build #指定编译链 cmake -DCMAKE_TOOLCHAIN_FILE../toolchain-cortex-a7.c…...
3步解锁Cursor Pro永久免费使用:告别试用限制的终极指南
3步解锁Cursor Pro永久免费使用:告别试用限制的终极指南 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your t…...
GPT-Image 2 对标竞争者研发?——理性看待“对手传闻”的技术路径(2026 观察)
深度观察:OpenAI 是否在暗中加速 GPT-Image 2 对标竞争者研发?——理性看待“对手传闻”的技术路径(2026 观察)“竞争对手是否在秘密被研发?”“OpenAI 背后是不是在悄悄做某种 GPT-Image 2 的替代方案?”这…...
Figma中文汉化终极指南:3分钟实现高效专业设计界面
Figma中文汉化终极指南:3分钟实现高效专业设计界面 【免费下载链接】figmaCN 中文 Figma 插件,设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 还在为Figma的英文界面而烦恼吗?作为中文设计师,你…...
开源机械爪资源宝库:从入门到进阶的完整实践指南
1. 项目概述:一个为开源“机械爪”而生的资源宝库如果你对机器人、自动化或者开源硬件感兴趣,最近又在琢磨着给自己的项目加个能抓取、能操作的“手”,那么你很可能已经听说过或者正在寻找“OpenClaw”相关的资料。vincentkoc/awesome-opencl…...
硬件工程师的‘第一板’:从最小系统设计到PCB Layout的STM32实战指南
STM32最小系统设计实战:从原理到PCB的工程化思维 作为一名硬件工程师,第一次独立完成PCB设计时的忐忑至今记忆犹新。那块承载着STM32最小系统的绿色电路板,不仅是我职业生涯的"第一板",更是一次从理论到实践的完整跨越。…...
对比按需计费与Token Plan套餐在长期项目中的成本体感
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 对比按需计费与Token Plan套餐在长期项目中的成本体感 1. 项目背景与初始计费模式 我们团队维护着一个面向内部的知识库问答应用&…...
