本文会描述如下几部分的数据同步 mysql2mysql mysql2hive flinkx的版本1.12-SNAPSHOT 1.拉取代码 git clone https://github.com/DTStack.../flinkx.git 2.编译 mvn clean package -DskipTests=true 注:这里需要提前运行sh install_jars.sh脚本 另在执行如下命令 mvn install...Dm7JdbcDriver18.jar 3.运行 注:这里要先删除掉lib目录下面的所有jar,不然会出现如下错误 错误: 找不到或无法加载主类 .Users.wangkai.apps.src.github.flinkx.lib.flinkx-launcher...-1.6.jar json模式 local模式测试 1.命令 bin/flinkx -mode local \ -jobType sync \ -job /Users/wangkai/apps/install.../flinkx/mysql2mysql.json \ -flinkxDistDir flinkx-dist 2.mysql2mysql.json { "job": { "content":
本文作者:杨槐(花名:渡劫)袋鼠云大数据开发工程师,负责FLinkx的开发与维护。...本文首发于:数栈研习社 我们在github上还有关于FlinkX的开源项目,欢迎大家给我们点个star~ FlinkX-Oracle Logminer模块是FlinkX基于Logminer对Oracle...Extracting a Logminer Dictionary to the Redo Log Files Extracting the Logminer Dictionary to a Flat File FlinkX...二、FlinkX和Logminer集成 1、Logminer模块流程解析 Logminer模块主要分为三部分 日志文件查找: 查询在线日志与归档日志 日志文件加载及开启Logminer 将日志文件加载到
目录 一、背景 二、概念 三、特性 四、工作原理 五、快速开始 1.数据同步任务模版 kafka to kudu mysql to hive 2.数据同步执行命令 flinkx老版本命令参数: flinkx...id=10214) 一、背景 今天领导突然问dolphinscheduler能不能支持采集埋点数据实时写入kudu,datax是离线etl工具肯定不支持了,只能用flink sql或者FlinkX来实现了...但是FlinkX之前没听说过,新知识点呀,果断学起来!!!...二、概念 纯钧(ChunJun,原名FlinkX),是一款稳定、易用、高效、批流一体的数据集成框架, 是在是袋鼠云内部广泛使用的基于flink的分布式离线数据同步框架,实现了多种异构数据源之间高效的数据迁移...官方网站:https://dtstack.github.io/chunjun/ git: chunjun: 基于flink的分布式数据同步框架 肖友/flinkx - Gitee.com 三、
5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "tagline" : "You Know, for Search" } flinkx...}, "speed" : { "bytes" : 1048576, "channel" : 1 } } } } 运行命令 bin/flinkx...\ -mode local \ -job /Users/wangkai/apps/install/flinkx/es2hive.json \ -pluginRoot syncplugins
二、Flinkx框架实现与原理 1、实现概览 [image.png] FlinkX采用了一种插件式的架构来实现多种异构数据源之间的数据同步: 不同的源数据库被抽象成不同的Reader插件; 不同的目标数据库被抽象成不同的...Writer插件; 理论上,FlinkX框架可以支持任意数据源类型的数据同步工作。...: module命名: flinkx-stream package命名:com.dtstack.flinkx.stream.writercom.dtstack.flinkx.classloader.PluginUtil...任务bin/flinkx -mode yarn -job mysql_2_xx.json -pluginRoot /data/home/xx/flinkx/plugins -flinkconf /data...五、其他 1、补充 Flinkx目前官方文档较少,大部分时候需要阅读其源码才能解决问题。 小数据场景下,Flinkx优势不是很大,毕竟集群启动任务调度等均需要时间。
一、RDB模块介绍与演示 针对关系型数据库,FlinkX-RDB封装了基于JDBC规范的查询与插入等公共操作,各个数据源可通过继承FlinkX-RDB模块实现各自逻辑,目前已支持绝大部分市面上的RDB数据源...开启多通道的参数如下: reader插件parammeter里配置 splitPk切割键 setting.speed里配置 channel 通道数量 四、自定义sql使用 FlinkX通过where条件拼接来进行自定义过滤
这是FlinkX技术团队潜心打造的新版本的FlinkX,设计文档和使用文档已在社区中推送,大家可以随时下载查阅,喜欢的同学记得给我们点个Star哦~ 本次上线的FlinkX1.12 Beta版做了以下更新...3、FlinkX插件Connector化 在1.10及之前版本的FlinkX中,我们的插件分为reader和writer。...统一后的FlinkX connector与社区保持兼容,既社区可以使用FlinkX的connector,FlinkX也可以使用社区的connector。...4、FlinkX数据结构优化 在1.10及之前版本的FlinkX中,数据传输使用的是Row,在1.12中,我们向Flink社区靠齐,修改成了RowData。...5、FlinkX支持二阶段提交 目前FlinkX几乎所有插件都支持二阶段提交。 6、FlinkX支持数据湖 Iceberg 可以流式读取和写入Iceberg数据湖,未来也会加入Hudi支持。
一、FlinkX实时采集功能的基本介绍 首先为大家介绍下FlinkX实时模块的分类,如下图所示: ?...因此这里我们直接用Canal捕获MySQL数据库数据的变更信息,基于FlinkX框架将任务简化成脚本的配置,基于Flink的Checkpoint机制提供了任务的故障恢复,提高了任务的容错性。...MySQL master发送dump协议 MySQL master收到dump请求,开始推送Binary Log给slave(即Canal) Canal解析Binary Log 对象(原始为Byte流) FlinkX...(`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 ---- 本文首发于:数栈研习社 数栈是一站式的数据中台PaaS,Flinkx...这个项目我们也在github社区上开源了,大家如果有想法和兴趣欢迎来撩~ 关于FlinkX的基础知识,我们还做了系列视频: FlinkX基础教程(三):《FlinkX实时采集原理与使用》
一、什么是FlinkX FlinkX是一款基于Flink的分布式离线/实时数据同步插件,可实现多种异构数据源高效的数据同步,其由袋鼠云于2016年初步研发完成,目前有稳定的研发团队持续维护,已在Github...目前已完成批流统一,离线计算与流计算的数据同步任务都可基于FlinkX实现。...二、FlinkX应用场景 FlinkX数据同步插件主要应用于大数据开发平台的数据同步/数据集成模块,通常采用将底层高效的同步插件和界面化的配置方式相结合的方式,使大数据开发人员可简洁、快速的完成数据同步任务开发...FlinkX数据同步任务的本质是一个Flink程序,读出写入的数据同步任务会被翻译成StreamGraph在Flink执行,FlinkX开发者只需要关注InputFormat和OutputFormat接口实现即可...四、写在后面 FlinkX经过袋鼠云内部使用以及在大量的数据中台项目中实践,支持以下数据源。且在FlinkX的高扩展特性下,将持续支撑更多的数据源。 ? ---- 本文首发于:数栈研习社
数栈离线数仓 如图所示,用户业务数据通过FlinkX导入Hive数仓,通过Spark引擎处理业务逻辑,最终通过FlinkX再写回用户数据源。...FlinkX在同步时也需要做一定程度的计算,将数据清洗后写入目标表。而FlinkStreamSQL如果不进行计算只是单纯的写库,那么就是同步功能。...在面对数据源相关的bug时,FlinkX和FlinkStreamSQL都需要进行修复。两套框架所带来的是两倍的人力成本。...我们将两套框架的优点相结合,写出了全新的FlinkX。融合后的FlinkX继承了原JSON的数据同步功能,并且也能使用强大的SQL语言。...无论数据是离线的还是实时的,数据无论是入仓、入湖还是计算,借助全新的FlinkX均能轻易处理。
数栈是云原生—站式数据中台PaaS,我们在github和gitee上有一个有趣的开源项目:FlinkX,FlinkX是一个基于Flink的批流统一的数据同步工具,既可以采集静态的数据,也可以采集实时变化的数据...github开源项目:https://github.com/DTStack/flinkx gitee开源项目:https://gitee.com/dtstack_dev_0/flinkx 袋鼠云云原生一站式数据中台...目前,数栈-离线开发平台(BatchWorks) 中的数据离线同步任务、数栈-实时开发平台(StreamWorks)中的数据实时采集任务已经统一基于FlinkX来实现。...3、支持断点续传的插件 理论上只要支持过滤数据的数据源,和支持事务的数据源都可以支持断点续传的功能,目前FlinkX支持的插件如下: ?...四、实时采集 目前FlinkX支持实时采集的插件有KafKa、binlog插件,binlog插件是专门针对mysql数据库做实时采集的,如果要支持其它的数据源,只需要把数据打到Kafka,然后再用FlinkX
2018年4月,秉承着开源共享的理念,数栈技术团队在github上开源了FlinkX,承蒙各位开发者的合作共建,FlinkX得到了快速发展。...因该文创作于于FlinkX更名为ChunJun之前,因此文中仍用FlinkX来进行分享,重要的事情说三遍: FlinkX即是ChunJun FlinkX即是ChunJun FlinkX即是ChunJun...本文的主要内容包括: FlinkX简介 功能及原理 云上入湖改造 展望 一、FlinkX简介 1....综合调研下来,我们最终选择了FlinkX。...最终我们选定了FlinkX这个工具。 2. Flink简介 什么是FlinkX呢?
2018 年 4 月,秉承着开源共享的理念,数栈技术团队在 github 上开源了 FlinkX,承蒙各位开发者的合作共建,FlinkX 得到了快速发展。...因该文创作于于 FlinkX 更名为 ChunJun 之前,因此文中仍用 FlinkX 来进行分享,重要的事情说三遍:FlinkX 即是 ChunJunFlinkX 即是 ChunJunFlinkX 即是...本文的主要内容包括:FlinkX 简介功能及原理云上入湖改造展望一、FlinkX 简介1....综合调研下来,我们最终选择了 FlinkX。...最终我们选定了 FlinkX 这个工具。2. Flink 简介什么是 FlinkX 呢?
数栈是云原生—站式数据中台PaaS,我们在github和gitee上有一个有趣的开源项目:FlinkX,FlinkX是一个基于Flink的批流统一的数据同步工具,既可以采集静态的数据,也可以采集实时变化的数据...github开源项目:https://github.com/DTStack/flinkx gitee开源项目:https://gitee.com/dtstack_dev_0/flinkx 平台建设背景...01 FlinkX 作为数据处理的第一步,也是最基础的一步,我们看看FlinkX是如何在Flink的基础上做二次开发,使用用户只需要关注同步任务的json脚本和一些配置,无需关心调用Flink的细节,并支持下图中的功能...以上就是TaskManager中StreamTask整体的生命流程,除了上面介绍的FlinkX是如何调用Flink接口,FlinkX还有如下一些特性。...逻辑和FlinkX基本类似,这里不再介绍。
result.getExecSql(), sideTableMap, tableEnv, registerTableCache); 不存在维表的话 tableEnv.sqlUpdate(result.getExecSql()); FlinkX...FlinkX主要是用来做数据同步的,实现了多种异构数据源之间高效的数据迁移。...理论上,FlinkX框架可以支持任意数据源类型的数据同步工作。作为一套生态系统,每接入一套新数据源该新加入的数据源即可实现和现有的数据源互通。 ?...在底层实现上,FlinkX依赖Flink,数据同步任务会被翻译成StreamGraph在Flink上执行,工作原理如下图: ?...使用安装部署,可以参考: https://github.com/DTStack/flinkx
创建状态后端、operator配置、特殊task初始化、恢复算子的状态、richfunction open run:执行task,处理record并发往下游 close:关闭和清理操作 这里以flinkX...这里以flinkX中的代码为例: 会被invoke()中的open-operators()执行并调用到DtInputFormatSourceFunction的open方法恢复状态做一些初始化工作。 ...这里以flinkX中的代码为例: 会被invoke()中的run()执行并调用到DtInputFormatSourceFunction的run读取数据并往下游发送。 ...,FlinkX是一个基于Flink的批流统一的数据同步工具,既可以采集静态的数据,也可以采集实时变化的数据,是全域、异构、批流一体的数据同步引擎。...github开源项目:https://github.com/DTStack/flinkx gitee开源项目:https://gitee.com/dtstack_dev_0/flinkx
一、前言ChunJun(原 FlinkX)是一个基于 Flink 提供易用、稳定、高效的批流统一的数据集成工具,既可以采集静态的数据,比如 MySQL,HDFS 等,也可以采集实时变化的数据,比如 binlog...值得注意的是,如果你需要调用 Flinkx 的 connect jar 的话,则需要将 classloader.resolve-order 改成 parent-first。...修改完成配置以后,把 Flinkx 的 jar 包复制过来,主要是 chunjun-clients-master.jar(Flinkx 现在改名 ChunJun )以及 chunjun 的其它 connector...图片四、示例分享添加依赖这里演示 mysql->mysql 的同步作业,所以需要 Flinkx 的 mysql-connector.jar 以及核心 jar。...在集成了 ChunJun (Flinkx) 以后,能够做到多源数据的离线跑批任务及日常小批量实时任务的同步。支持各种类型的任务执行方式。
一、前言 ChunJun(原FlinkX)是一个基于 Flink 提供易用、稳定、高效的批流统一的数据集成工具,既可以采集静态的数据,比如 MySQL,HDFS 等,也可以采集实时变化的数据,比如 binlog...值得注意的是,如果你需要调用 Flinkx 的 connect jar 的话,则需要将 classloader.resolve-order 改成 parent-first。...修改完成配置以后,把 Flinkx 的 jar 包复制过来,主要是 chunjun-clients-master.jar(Flinkx 现在改名 ChunJun )以及 chunjun 的其它 connector...四、示例分享 添加依赖 这里演示 mysql->mysql 的同步作业,所以需要 Flinkx 的 mysql-connector.jar 以及核心 jar。...在集成了 ChunJun(Flinkx) 以后,能够做到多源数据的离线跑批任务及日常小批量实时任务的同步。支持各种类型的任务执行方式。
值得注意的是,如果你需要调用 Flinkx 的 connect jar 的话,则需要将 classloader.resolve-order 改成 parent-first。...修改完成配置以后,把 Flinkx 的 jar 包复制过来,主要是 chunjun-clients-master.jar(Flinkx 现在改名 ChunJun )以及 chunjun 的其它 connector...异常处理 如果启动集群时出现异常,即 Flink standalone 集群加载 flinkx-dist 里 jar 包之后,集群无法启动,日志报错:Exception in thread "main"...四、示例分享 添加依赖 这里演示 mysql->mysql 的同步作业,所以需要 Flinkx 的 mysql-connector.jar 以及核心 jar。...在集成了 ChunJun(Flinkx) 以后,能够做到多源数据的离线跑批任务及日常小批量实时任务的同步。支持各种类型的任务执行方式。
一、前言 ChunJun(原FlinkX)是一个基于Flink提供易用、稳定、高效的批流统一的数据集成工具,是袋鼠云一站式大数据开发平台-数栈DTinsight的核心计算引擎,其技术架构基于实时计算框架...ChunJun脱胎于袋鼠云数栈自主研发的批流统一的数据同步工具FlinkX。...2016年,数栈技术团队初步研发完成了一款基于Flink的分布式离线/实时数据同步插件——FlinkX,它可实现多种异构数据源高效的数据同步,支持双向读写和多种异构数据源。...2018年4月,秉承着开源共享理念的数栈技术团队在github上开源了FlinkX,历经4年多的发展,FlinkX从当初的一个小项目,成长为拥有2900+star,1300+fork的开源项目。...正是怀揣着这样殷切的期望,我们决定正式将FlinkX更名为ChunJun!
领取专属 10元无门槛券
手把手带您无忧上云