基于Flink CDC实现实时数据采集(一)-接口设计

本文介绍了基于Flink CDC实现实时数据采集的接口设计,包括Source端、转换函数和Sink端的接口。详细阐述了参数配置,如并发数、checkpoint设置、数据源类型选择以及各种数据源的特定配置。同时,文章讨论了动态类型支持,并提到了SPI机制用于加载Source、Function和Sink的实现类。
摘要由CSDN通过智能技术生成

基于Flink CDC实现实时数据采集-接口设计


由于最近公司有需求,需要将oracle数据实时同步到hdfs和olap数据库,当时想到的是flink cdc来实现,但是每一个同步任务都需要写java程序去实现,所有想写一个工具去做,通过参数的方式来灵活配置采集的数据源。

参数说明

{
   
   "flinkConf":{
   
      "sourceType": "oracle",
      "parallelism":1,
      "checkpointPath":"hdfs://xxxxx",
      "checkpointInterval": 1800000
   },
   "connect":{
   
       "ip":"IP地址",
       "port":1521,
       "username":"用户名",
       "password":"",
       "dbName":"wind11",
       "schema":"SCHEMA",
	   "startupMode":"LATEST_OFFSET",
	   "specificOffsetFile":"",
	   "specificOffsetPos":"",
	   "startupTimestampMillis":""
   },
   "tasks":[
     {
   
        "tableName":"StringValue",
		"targetType":"starrocks",
        "sourceField":["sField1","sField2","sField3"],
		"targetConfig":{
   
			"jdbcUrl":"test",
			"loadUrl":"test",
			"user":"test",
			"password":"",
			"dbName":"test",
			"tableName":"test"
		}
     },
	 {
   
        "tableName":"StringValue",
		"targetType":"hdfs",
        "sourceField":["sField1","sField2","sField3"],
		"targetConfig":{
   
			"targetPath":"hdfs://xxxxx",
			"partition":true
		}
     }
   ]
}

flinkConf Flink相关的参数配置,包含并发数、 checkpoint周期、checkpoint路径,以及source类型,目前支持oraclemysqlkafka

  • sourceType 数据源类型,支持oracle、mysql、kafka,必填
  • parallelism flink任务并发数,必填
  • checkpointPath checkpoint路径,选填,默认从flink-conf.yaml读取checkpoint路径配置
  • checkpointInterval checkpoint 周期,必填

connect 数据源相关的配置

  • password 是加密后的密文,不能传明文
  • ip 数据库服务IP,sourceType 等于 oraclemysql时必填
  • port 端口,sourceType 等于 oraclemysql时必填
  • username 用户名,sourceT
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值