PiflowX组件-PostgresCdc

2024-01-22 06:12
文章标签 组件 piflowx postgrescdc

本文主要是介绍PiflowX组件-PostgresCdc,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

PostgresCdc组件

组件说明

Postgres CDC连接器允许从PostgreSQL数据库读取快照数据和增量数据。

计算引擎

flink

组件分组

cdc

端口

Inport:默认端口

outport:默认端口

组件属性

名称展示名称默认值允许值是否必填描述例子
hostnameHostname“”PostgreSQL数据库服务器的IP地址或主机名。127.0.0.1
usernameUsername“”连接到PostgreSQL数据库服务器时要使用的用户名。root
passwordPassword“”连接PostgreSQL数据库服务器时使用的密码。123456
databaseNameDatabaseName“”要监视的PostgreSQL服务器的数据库名称。test
schemaNameSchema“”要监视的PostgreSQL数据库的Schema。public
tableNameTableName“”"需要监视的PostgreSQL数据库的表名。test
portPort5432PostgreSQL数据库服务器的整数端口号。5432
slotNameSlotName“”The name of the PostgreSQL logical decoding slot that was created for streaming changes from a particular plug-in for a particular database/schema. The server uses this slot to stream events to the connector that you are configuring.
Slot names must conform to PostgreSQL replication slot naming rules, which state: “Each replication slot has a name, which can contain lower-case letters, numbers, and the underscore character.”
tableDefinitionTableDefinition“”Flink table定义。
propertiesPROPERTIES“”连接器其他配置。

PostgresCdc示例配置

{"flow":{"name":"pgcdc","uuid":"273553c2ece043c29fba179df6826c5a","paths":[{"inport":"","from":"products","to":"SQLQuery","outport":""},{"inport":"","from":"orders","to":"SQLQuery","outport":""},{"inport":"","from":"shipments","to":"SQLQuery","outport":""},{"inport":"","from":"SQLQuery","to":"ShowChangeLogData","outport":""}],"engineType":"flink","stops":[{"name":"shipments","bundle":"cn.piflow.bundle.flink.cdc.postgres.PostgresCdc","uuid":"13ac002a8a4d404e8dda77c9a1d8360f","properties":{"hostname":"192.168.186.102","username":"postgres","port":"5432","properties":{},"schemaName":"public","tableName":"shipments","tableDefinition":{"tableBaseInfo":{"ifNotExists":true,"registerTableName":"shipments"},"physicalColumnDefinition":[{"columnName":"shipment_id","columnType":"INT","primaryKey":true},{"columnName":"order_id","columnType":"INT"},{"columnName":"origin","columnType":"STRING"},{"columnName":"destination","columnType":"STRING"},{"columnName":"is_arrived","columnType":"BOOLEAN"}],"asSelectStatement":{},"likeStatement":{}},"databaseName":"postgres","slotName":"flink","password":"postgres"},"customizedProperties":{}},{"name":"SQLQuery","bundle":"cn.piflow.bundle.flink.common.SQLQuery","uuid":"a5afa1368e1e4e348950bb2eda2011a8","properties":{"viewName":"temp","sql":"SELECT\n  o.*,\n  p.name,\n  p.description,\n  s.shipment_id,\n  s.origin,\n  s.destination,\n  s.is_arrived\nFROM\n  orders AS o\n  LEFT JOIN products AS p ON o.product_id = p.id\n  LEFT JOIN shipments AS s ON o.order_id = s.order_id"},"customizedProperties":{}},{"name":"ShowChangeLogData","bundle":"cn.piflow.bundle.flink.common.ShowChangeLogData","uuid":"c6604e600aa645d29264f4be5ce4e2eb","properties":{"showNumber":"10"},"customizedProperties":{}},{"name":"products","bundle":"cn.piflow.bundle.flink.cdc.mysql.MysqlCdc","uuid":"ab91c42f26cb4e119e34830178611293","properties":{"hostname":"192.168.186.102","username":"root","serverId":"5400","port":"3306","properties":{"server-time-zone":"UTC"},"tableName":"products","tableDefinition":{"tableBaseInfo":{"registerTableName":"products"},"physicalColumnDefinition":[{"columnName":"id","columnType":"INT","primaryKey":true},{"columnName":"name","columnType":"STRING"},{"columnName":"description","columnType":"STRING"}],"asSelectStatement":{},"likeStatement":{}},"databaseName":"mydb","password":"123456"},"customizedProperties":{}},{"name":"orders","bundle":"cn.piflow.bundle.flink.cdc.mysql.MysqlCdc","uuid":"4ffa58f3db6144739f6b797fd3839025","properties":{"hostname":"192.168.186.102","username":"root","serverId":"5410","port":"3306","properties":{"scan.incremental.snapshot.chunk.key-column":"order_id","server-time-zone":"UTC"},"tableName":"orders","tableDefinition":{"tableBaseInfo":{"ifNotExists":true,"registerTableName":"orders"},"physicalColumnDefinition":[{"columnName":"order_id","columnType":"INT"},{"columnName":"order_date","columnType":"TIMESTAMP","length":0},{"columnName":"customer_name","columnType":"STRING"},{"columnName":"price","columnType":"DECIMAL","precision":10,"scale":5},{"columnName":"product_id","columnType":"INT"},{"columnName":"order_status","columnType":"BOOLEAN"}],"asSelectStatement":{},"likeStatement":{}},"databaseName":"mydb","password":"123456"},"customizedProperties":{}}]}
}
示例说明

本示例演示了基于PiflowX构建MySQL和Postgres的Streaming ETL。

演示DEMO

基于 PiflowX构建 MySQL 和 Postgres 的 Streaming ETL

这篇关于PiflowX组件-PostgresCdc的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/632081

相关文章

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

SpringQuartz定时任务核心组件JobDetail与Trigger配置

《SpringQuartz定时任务核心组件JobDetail与Trigger配置》Spring框架与Quartz调度器的集成提供了强大而灵活的定时任务解决方案,本文主要介绍了SpringQuartz定... 目录引言一、Spring Quartz基础架构1.1 核心组件概述1.2 Spring集成优势二、J

Vue中组件之间传值的六种方式(完整版)

《Vue中组件之间传值的六种方式(完整版)》组件是vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用,针对不同的使用场景,如何选择行之有效的通信方式... 目录前言方法一、props/$emit1.父组件向子组件传值2.子组件向父组件传值(通过事件形式)方

Spring组件初始化扩展点BeanPostProcessor的作用详解

《Spring组件初始化扩展点BeanPostProcessor的作用详解》本文通过实战案例和常见应用场景详细介绍了BeanPostProcessor的使用,并强调了其在Spring扩展中的重要性,感... 目录一、概述二、BeanPostProcessor的作用三、核心方法解析1、postProcessB

kotlin中的行为组件及高级用法

《kotlin中的行为组件及高级用法》Jetpack中的四大行为组件:WorkManager、DataBinding、Coroutines和Lifecycle,分别解决了后台任务调度、数据驱动UI、异... 目录WorkManager工作原理最佳实践Data Binding工作原理进阶技巧Coroutine

Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)

《Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)》文章介绍了如何使用dhtmlx-gantt组件来实现公司的甘特图需求,并提供了一个简单的Vue组件示例,文章还分享了一... 目录一、首先 npm 安装插件二、创建一个vue组件三、业务页面内 引用自定义组件:四、dhtmlx

Vue ElementUI中Upload组件批量上传的实现代码

《VueElementUI中Upload组件批量上传的实现代码》ElementUI中Upload组件批量上传通过获取upload组件的DOM、文件、上传地址和数据,封装uploadFiles方法,使... ElementUI中Upload组件如何批量上传首先就是upload组件 <el-upl

Vue3中的动态组件详解

《Vue3中的动态组件详解》本文介绍了Vue3中的动态组件,通过`component:is=动态组件名或组件对象/component`来实现根据条件动态渲染不同的组件,此外,还提到了使用`markRa... 目录vue3动态组件动态组件的基本使用第一种写法第二种写法性能优化解决方法总结Vue3动态组件动态

四种Flutter子页面向父组件传递数据的方法介绍

《四种Flutter子页面向父组件传递数据的方法介绍》在Flutter中,如果父组件需要调用子组件的方法,可以通过常用的四种方式实现,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录方法 1:使用 GlobalKey 和 State 调用子组件方法方法 2:通过回调函数(Callb

Vue项目中Element UI组件未注册的问题原因及解决方法

《Vue项目中ElementUI组件未注册的问题原因及解决方法》在Vue项目中使用ElementUI组件库时,开发者可能会遇到一些常见问题,例如组件未正确注册导致的警告或错误,本文将详细探讨这些问题... 目录引言一、问题背景1.1 错误信息分析1.2 问题原因二、解决方法2.1 全局引入 Element