首页
Python
Java
前端
数据库
Linux
Chatgpt专题
开发者工具箱
flinkx专题
【FlinkX】两个issue分析:reader和writer的通道数不一致+获取JobId
文章目录 issue详情reader和writer的通道数不一致获取JobId 代码分析#issue145配置说明源码分析: #issue148 最近准备再花点时间优化一下之前的FlinkX版本,特地去看了一下项目的issues区域,发现两个自己比较关注的issue。 issue详情 reader和writer的通道数不一致 异构数据源reader和writer设置不
阅读更多...
FlinkX断点续传原理
FlinkX断点续传原理 声明: 前半部分官方文档+贴实现代码 前提条件 同步任务要支持断点续传,对数据源有一些强制性的要求: 数据源(这里特指关系数据库)中必须包含一个升序的字段,比如主键或者日期类型的字段,同步过程中会使用checkpoint机制记录这个字段的值,任务恢复运行时使用这个字段构造查询条件过滤已经同步过的数据,如果这个字段的值不是升序的,那么任务恢复时过滤的数据就是错
阅读更多...
FlinkX配置文件解析
FlinkX配置文件解析 配置文件 (本章节引自官网) 一个完整的Flinkx任务脚本配置包含 content, setting两个部分。content用于配置任务的输入源与输出源,其中包含reader,writer。而setting则配置任务整体的环境设定,其中包含restore,speed,errorLimit,dirty,log。具体如下所示: {"job" : {"content"
阅读更多...
FlinkX的数据类型
FlinkX的数据类型 从上一章节里面看到: DataStream<Row> dataStream = dataReader.readData(); 这个简单的代码里面我们可以得出 每一行数据都转化为了Row对象数据转化为了数据流 我们下面看一下Row是如何满足所有的数据类型的? FlinkX 中的 Row 这里的Row是指的org.apache.flink.types.Row
阅读更多...
FlinkX 实现原理(全局总览)
FlinkX 实现原理 从上一节的代码结构,我们知道FlinkX的结构是Core+Plugin,我们就简单分析一下Core. Core 代码架构 基础支持 classloader 自定义类加载器Exception 统一异常enums 统一枚举constants 常量options 入参选项配置util 工具类latch 同步类支持 核心逻辑 config 配置文件格式schem
阅读更多...
FlinkX 代码总体结构
总体结构 可以看出来里面就一个Flink-Core 然后和 DataX 类似 都是 Core + Plugin的结构 具体看一下 Plugin的结构 也是Core + Reader + Writer的结构。
阅读更多...
FlinkX流控实现
FlinkX流控实现 流量控制防止并发性能过高对源数据库造成影响。 在FlinkX中,流量控制是采用Byte为单位/s进行流量控制的。 配置参数实例: {“speed”: {"bytes": 0}} 当 bytes > 0 时,才会开启流量控制。 整个计算的速率是根据整个系统中的指标,按照每秒的窗口,实时计算出限流的速率的。通过对读取记录的限流,但是没有背压。 限流原理
阅读更多...
FlinkX 分片读取原理
FlinkX 分片读取原理 在数据同步工具中,将数据从源头读取到数据缓存是最重要的一环之一,算是左膀。所以在整个流程,从技术场景上,一定要支持数据的分片与并行读取、流控,从业务角度上,需要支持脏值处理与增量读取。 而今天重点来探讨一下分片读取的原理。 分片原理 分片是将待读取的数据平均分配,尽量的使各个分片任务均衡,不会让数据倾斜从而导致个别节点的同步压力过大(硬件-网卡、cpu等)。
阅读更多...
Flink 数据同步先行者- FlinkX
Flink 数据同步先行者- FlinkX 最近在学习Flink,看到目前的Connector支持还较少,联想到之前的DataX与FlinkX,由感而发。 从我个人的理解上,Connector是连接各个数据源的连接器,它屏蔽了一系列的组件兼容问题,实现统一的数据源连接与数据实体的抽象,就是为了数据通道而生的基础设施,而目前数据通道做的比较全的就是DataX。 DataX 是一个异构数据源离线
阅读更多...
Flinkx同步binlog日志到kafka
1、前置 需要安装maven、java8、配置好github相关参数 2、Clone项目到本地 git clone https://github.com/liukunyuan/flinkx.git 3、安装额外的jar包 1)、cd flinkx/bin 2)、执行sh ./install_jars.sh(windows执行install_jars.bat脚本) 4、打包 1)、回到flin
阅读更多...
FlinkX的安装与简单使用
FlinkX的安装与简单使用 文章目录 FlinkX的安装与简单使用FlinkX的安装FlinkX的简单使用MySQLToHDFSMySQLToHiveMySQLToHBaseMySQLToMySQL FlinkX的安装 安装unzip:yum install unzip 1、上传并解压 unzip flinkx-1.10.zip -d /usr/local/s
阅读更多...
FlinkX各种模式的启动脚本和解释
官方启动参数说明 名称 说明 可选值 是否必填 默认值 mode 执行模式,也就是flink集群的工作模式 1.local: 本地模式 2.standalone: 独立部署模式的flink集群 3.yarn: yarn模式的flink集群,需要提前在yarn上启动一个flink session,使用默认名称"Flink session cluster" 4.yarnPer: ya
阅读更多...
Flinkx如何通过json文件定位读写插件
前言 Flinkx作为数据同步工具,它通过json配置文件来确定多源到多源的数据同步和同步策略,这次就来看看Flinkx是如何通过json配置文件来定位reader和writer端的 整体结构 从Flinkx项目里可以看到,它对每个数据源都定义了core,reader输出端,writer输入端。当然也有意外,hive和redis只要输入。 Flinkx是如何通过json配置文件定位这个
阅读更多...
Flinkx启动流程-整体理解
1. 先看启动脚本 在bin/flinkx的内容 set -eexport FLINKX_HOME="$(cd "`dirname "$0"`"/..; pwd)"# Find the java binaryif [ -n "${JAVA_HOME}" ]; thenJAVA_RUN="${JAVA_HOME}/bin/java"elseif [ `command -v java` ]
阅读更多...
flinkX快速启动
在flinkx启动之前,请提前安装git,maven,mysql(已同步mysql为例)。 windows安装提前安装好jdk和maven 下载代码 1.使用git工具把项目clone到本地,或者直接下载flinkx-1.8.5.zip git clone https://github.com/DTStack/flinkx.git cd flinkx 2.直接下载源码 wget ht
阅读更多...