软文推广公司有哪些,海口网站优化,营销策划包括哪几个方面,网站运营面试本文介绍了不同源单表-单表同步#xff0c;不同源多表-单表同步。
注#xff1a;此版本支持火焰图
Flink版本#xff1a;1.17.1
环境#xff1a;Linux CentOS 7.0、jdk1.8
基础文件#xff1a;
flink-1.17.1-bin-scala_2.12.tgz、
flink-connector-jdbc-3.0.0-1.16.… 本文介绍了不同源单表-单表同步不同源多表-单表同步。
注此版本支持火焰图
Flink版本1.17.1
环境Linux CentOS 7.0、jdk1.8
基础文件
flink-1.17.1-bin-scala_2.12.tgz、
flink-connector-jdbc-3.0.0-1.16.jar、(maven仓库目录corg.apache.flink/flink-connector-jdbc/3.0.0-1.16)
flink-sql-connector-mysql-cdc-2.3.0.jar、(maven仓库目录com.ververica/flink-sql-connector-mysql-cdc/2.3.0)安装Flink步骤详见文章第二篇
支持的mysql版本
一、 数据源ip为***.51的源表,同步数据到数据源ip为***.50的目标表中需要以下几个步骤
1. 启动flink服务 [rootlocalhost bin]# ./start-cluster.sh 2. 停止flink服务 [rootlocalhost bin]# ./stop-cluster.sh 3. 启动FinkSQL [rootlocalhost bin]# ./sql-client.sh 4. 编写FlinkSql创建临时表和job
FlinkSql与mysql字段的类型映射 把写好的Sql粘贴到FlinkSql客户端命令行中分号 ; 是语句结束标识符按回车创建 创建来源表结构
来源表链接类型为connector mysql-cdc Flink SQL CREATE TABLE source_alarminfo51 ( id STRING NOT NULL, AlarmTypeID STRING, Time timestamp, PRIMARY KEY (id) NOT ENFORCED ) WITH ( connector mysql-cdc, hostname ***, port 3306, username ***, password ***, database-name alarm, server-time-zone Asia/Shanghai, table-name alarminfo ); [INFO] Execute statement succeed. 创建目标表结构目标表结构可比来源表字段多可使用视图指定字段默认值
目标表链接类型为connector jdbc注意url需要跟后面以下属性值 Flink SQL CREATE TABLE target_alarminfo50 ( id STRING NOT NULL, AlarmTypeID STRING, Time timestamp PRIMARY KEY (id) NOT ENFORCED ) WITH ( connector jdbc, url jdbc:mysql://***:3306/alarm?useUnicodetruecharacterEncodingUTF-8zeroDateTimeBehaviorconvertToNulltinyInt1isBitfalseserverTimezoneAsia/ShanghaiuseSSLtruedontTrackOpenResourcestruedefaultFetchSize10000useCursorFetchtrue, username ***, password ****, table-name alarminfo, driver com.mysql.cj.jdbc.Driver ) [INFO] Execute statement succeed. 最后创建同步关系 INSERT INTO target_alarminfo50 SELECT * FROM source_alarminfo51; 如下 创建完表结构可使用下列语句查看和删除 查看表show tables 删除表drop table if exists target_alarminfo; flink-UI页面效果 打开火焰图
编辑flink-conf.yaml最后面添加 rest.flamegraph.enabled: true 配置后重启flink服务重新创建任务。
火焰图效果 数据同步效果
源表 目标表数据首次数据全量后面数据变更增量 注
在分析火焰图时可以关注以下几点 函数的执行时间纵向的轴显示了函数的嵌套层级越往下表示越深层的函数调用。横向轴表示时间通过不同颜色的方块来表示函数的执行时间。 热点函数寻找占据执行时间大部分的函数这些函数可能是需要优化的关键点。 函数之间的关系观察函数之间的调用关系查看是否有不必要的函数调用或循环。 I/O 操作关注是否有大量的数据读取、写入或网络通信这可能是性能瓶颈的来源。 根据火焰图的分析结果您可以进一步定位和排查潜在的性能问题并在代码、配置或资源分配方面进行优化。 请注意为了准确分析火焰图建议在负载较高的情况下生成火焰图并保持足够的监视时间。此外Flink 的火焰图功能在生产环境中可能会造成一定的开销因此建议在测试或开发环境中使用。