基于dinky task udf完成flink CDC数据同步

本文介绍了如何利用Dinky工具中的UDF功能处理Flink CDC数据同步时的复杂业务需求,如生成雪花ID。Dinky提供便捷的作业创建方式,支持Java、Scala和Python,避免了手动打包jar的繁琐过程。但在实际使用中,存在dinky重启后UDF代码丢失的问题,需要改进初始化查询条件,并补充相应代码。
摘要由CSDN通过智能技术生成

1.应用场景

多业务系统在做数据迁移时,需要兼容各个系统的业务需求,需要自动生成并填充一些数据,比如需要生成雪花id,这是flink sql内置函数无法实现的,则需要自定义函数实现;如果使用原生的flink sql实现需要自己编写代码并打成jar,比较繁琐。然而dinky工具只需要你编写业务逻辑代码,自动打包运行操作简单。

2.在dinky中创建作业,作业类型选Java或者Scala或者Python。如下图所示:

3.创建flink sql任务,如下图所示:

4.问题回顾

   4.1 dinky 存在问题:

       a. dinky重启后,UdfCodePool中UDF代码丢失,解决方法,系统启动初始化查询条件有问题,如下图:

      

     b. dinky代码缺少,需要补充。

    

    

Dinky是一个开箱即用的一站式实时计算平台,基于Apache Flink,并连接了OLAP和数据湖等多个框架,致力于实现流批一体和湖仓一体的建设和实践。 Dinky还提供了FlinkSQL可视化工具,方便用户进行Flink的可视化操作。 在使用Dinky之前,需要通过Dinky的可视化界面注册中心来添加Flink的环境。对于单机最简环境,我们可以按照以下步骤进行配置和启动: 1. 解压Flink安装包:使用命令tar -xzf flink-1.14.6-bin-scala_2.12.tgz进行解压,然后进入解压后的目录:cd flink-1.14.6。 2. 修改配置文件:打开配置文件flink-1.14.6/conf/flink-conf.yaml,将其中的相关配置项修改为本机的IP地址和位置,如jobmanager.rpc.address和taskmanager.host。还可以根据需求修改其他配置项,比如内存大小和任务槽数量等。 3. 添加连接器:将需要使用的Flink连接器(如flink-sql-connector-kafka_2.12-1.14.6.jar、flink-sql-connector-elasticsearch7_2.12-1.14.6.jar、flink-sql-connector-mysql-cdc-2.3.0.jar等)放到flink-1.14.6/lib/目录下。 4. 启动集群:执行命令./start-cluster.sh来启动Flink集群。 这样,你就可以开始使用DinkyFlink进行实时计算了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [基于 Dinky + FlinkSQL + Flink CDC 同步 MySQL 数据到 Elasticsearch、Kafka](https://blog.csdn.net/MHXSH_1_0/article/details/131072318)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

yongge

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

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

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

打赏作者

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

抵扣说明:

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

余额充值