袋鼠云研发手记 | 数栈·开源:Github上400+Star的硬核分布式同步工具FlinkX

  • 时间:
  • 浏览:0

「standalone模式」是指以独立部署的土办法启动有一一两个多Flink集群,假使 将提交Flink任务到该集群上执行;

数栈具有8大产品模块

快速生成数据API、统一管理API服务,帮助企业提高数据开放传输效率

一、便于使用

作为有一一两个多面向分布式数据流处里和批量数据处里的开源计算平台,Flink具有分布式、低延迟、高吞吐和高可靠的价值形式。

FlinkX支持任意数据源类型的数据同步工作

Flink任务的自动组装

袋鼠云作为一家数据智能公司,自研开发企业级一站式数据中台PaaS产品——数栈。

使企业数据标准化,模型化,帮助企业实现数据管理规范化

FlinkX是在袋鼠云内控 广泛使用的有一一两个多基于Flink的异构数据源离线同步工具,用于在多种数据源(MySQL、Oracle、SqlServer、Ftp、Hdfs,HBase、Hive、Elasticsearch等)之间进行高效稳定的数据同步。

FlinkX框架都需要支持任意数据源类型的数据同步工作。作为有一一两个多开放式系统,用户都需要根据需要开发新的插件,以接入新的数据库类型。

「yarn模式」是处于yarn集群中部署Flink集群,假使 将Flink任务提交到部署在yarn集群中的Flink集群上执行;standalone模式和yarn模式也有分布式地执行FlinkX,而yarn模式都需要利用yarn的资源管理功能,因而成为部署FlinkX应用时的首选。

袋鼠云数栈引擎团队拥有多名专家级别,经验富于的后端开发工程师,分别支撑公司大数栈产品线的不同子项目的开发需求,从项目中提取并开源了FlinkX(基于Flink的数据同步),Jlogstash(logstash 的java 版本实现),FlinkStreamSQL(扩展原生FlinkSQL,实现流与维表的join)多个项目。

四、开放式可扩展

三要支持断点续传。可能在大数据量的传输场景下,可能网络出现 抖动等导致 ,可能导致 任务失败,那某些然后可能重跑任务,可是 我太耗时了,需要从失败的点继续跑;

使用数栈的数据开发套件,用户都需要通过界面向导可视化的创建有一一两个多数据同步任务,而FlinkX正是数据同步的底层执行引擎。

不同的源数据库被抽象成不同的Reader插件;

FlinkX实现了多种异构数据源之间高效的数据迁移

当时,市面上,并那末 满足以上三点要求的数据同步工具。

FlinkX简化了数据同步任务的开发过程,用户只需提供一份数据同步任务的配置,FlinkX会将配置转化为Flink任务,并自动提交到Flink集群上执行。

2.2 Flink任务的自动组装

对过程数据和结果数据进行质量校验,帮助企业及时发现数据质量问提

全自动化,全生命周期的运维管家,提供安全稳定的数栈部署与监控服务

用户只需要提供一份数据同步配置信息,不用编写应用守护进程,FlinkX会配置信息自动转换为Flink任务并提交到Flink集群执行。

不同的目标数据库被抽象成不同的Writer插件;

FlinkX在袋鼠云数栈产品中的应用

1、袋鼠云为那些要自研数据同步工具?

FlinkX会将数据同步任务提交到Flink集群中的执行,使得FlinkX碳酸岩具有Flink的性能优势,主要表现为分布式、低延迟、高吞吐和高可靠。

2.1 插件式架构

在线拖拉拽的土办法快速搭建交互式数据可视化大屏,让数据价值看得见

三、多运行模式

整个数据同步任务共有的处里逻辑被抽象在Template模块中,该模块根据数据同步任务配置加载对应的Reader和Writer插件,组装Flink任务,并提交到Flink集群执行;

一是支持多种部署模式,比如测试单机部署,生产分布式部署。

二要基于yarn,mesos可能k8s做资源调度,提高资源利用率。

作为一家创新驱动的科技公司,袋鼠云每年研发投入达数千万,公司3000%员工也有技术人员,袋鼠云产品家族包括企业级一站式数据中台PaaS数栈、交互式数据可视化大屏开发平台Easy[V]等产品也在太快迭代。在进行产品研发的过程中,技术小哥哥们能文能武,不断提升产品性能和体验的共同,也把那些提升和优化过程记录下来,现录入“袋鼠云研发手记”专栏中,以和业内童鞋们分享交流。

关于数栈

数据同步工具对比

Github上300+Star的「硬核」分布式同步工具FlinkX**

可视化的数据资产中心,帮助企业全盘掌控数据资产状态和数据的来源去向

同普通的Flink任务一样,FlinkX支持local、standalone和yarn并也有运行模式。

**第二期

Template模块根据同步任务的配置信息加载源数据库和目的数据库对应的Reader插件和Writer插件;

一站式大数据开发平台,帮助企业快速全部数据中台搭建

二、性能优越

数栈·开源

在长期的项目实践与产品迭代过程中,团队成员在 Hadoop技术栈上不断深耕探索,积累了富于的经验与最佳实践。

脏数据管理都需要将错误记录、错误导致 、错误类型输出到Hive表中,便于然后的排查工作。

错误控制都需要在数据同步配置信息中设置错误记录阈值、错误占比阈值,使得数据同步任务在出错时及时停止,处里系统资源的浪费。

假使 你我应该 ,我应该 给任何类型的数据源开发Reader和Writer插件。

FlinkX 可能开源在Github上目前已获300+Star,查看地址:https://github.com/DTStack/flinkx

五、错误控制和脏数据管理

Flink是新型的计算框架,支持多种部署土办法local(单机),standalone模式,也都需要基于yarn,mesos可能k8s做资源调度;假使 flink提供了比较高级的API,我们都我们都 能比较方便地扩展现有的API来满足我们都我们都 此人 的特殊需求;假使 Flink提供了全部的状态管理体系(checkpoint),断点续传可是 我基于checkpoint机制来实现的。

Writer插件实现了OutputFormat接口,将目的数据库与DataStream对象相关联;

其中,「数据同步」是数栈开发套件中有一一两个多非常重要的功能,我们都我们都 对数据同步工具有3点要求:

Template模块通过DataStream对象将Reader和Writer串接在共同,组装成有一一两个多Flink任务,并提交到Flink集群上执行。

Reader插件实现了InputFormat接口,从源数据库中获取DataStream对象;

海量数据秒级查询,幽灵 响应能力,帮助企业自由的数据探索

下为“袋鼠云研发手记”专栏第二期,本期作者为袋鼠云数栈引擎团队。

FlinkX采用了并也有插件式的架构:

「local模式」可是 我在本地开启有一一两个多mini的Flink集群执行Flink任务,某些运行模式的好处是使用方便,需要预先启动分布式集群,适用于测试和实验环境;缺点是可能单点执行,可靠性差,当数据量大时吞吐量受限;