当前位置:   article > 正文

袋鼠云研发手记 | 数栈DTinsight:详解FlinkX中的断点续传和实时采集

数栈dtinsight

袋鼠云云原生一站式数据中台PaaS——数栈,覆盖了建设数据中心过程中所需要的各种工具(包括数据开发平台、数据资产平台、数据科学平台、数据服务引擎等),完整覆盖离线计算、实时计算应用,帮助企业极大地缩短数据价值的萃取过程,提高提炼数据价值的能力。

数栈架构图

 

目前,数栈-离线开发平台(BatchWorks) 中的数据离线同步任务、数栈-实时开发平台(StreamWorks)中的数据实时采集任务已经统一基于FlinkX来实现。数据的离线采集和实时采集基本的原理的是一样的,主要的不同之处是源头的流是否有界,所以统一用Flink的Stream API 来实现这两种数据同步场景,实现数据同步的批流统一。

1、功能介绍

断点续传

断点续传是指数据同步任务在运行过程中因各种原因导致任务失败,不需要重头同步数据,只需要从上次失败的位置继续同步即可,类似于下载文件时因网络原因失败,不需要重新下载文件,只需要继续下载就行,可以大大节省时间和计算资源。断点续传是数栈-离线开发平台(BatchWorks)里数据同步任务的一个功能,需要结合任务的出错重试机制才能完成。当任务运行失败,会在Engine里进行重试,重试的时候会接着上次失败时读取的位置继续读取数据,直到任务运行成功为止。

实时采集

实时采集是数栈-实时开发平台(StreamWorks)里数据采集任务的一个功能,当数据源里的数据发生了增删改操作,同步任务监听到这些变化,将变化的数据实时同步到目标数据源。除了数据实时变化外,实时采集和离线数据同步的另一个区别是:实时采集任务是不会停止的,任务会一直监听数据源是否有变化。这一点和Flink任务是一致的,所以实时采集任务是数栈流计算应用里的一个任务类型,配置过程和离线计算里的同步任务基本一样。

2、Flink中的Checkpoint机制

断点续传和实时采集都依赖于Flink的Checkpoint机制,所以咱们先来简单了解一下。Checkpoint是Flink实现容错机制最核心的功能,它能够根据配置周期性地基于Stream中各个Operator的状态来生成Snapshot,从而将这些状态数据定期持久化存储下来,当Flink程序一旦意外崩溃时,重新运行程序时可以有选择地从这些Snapshot进行恢复,从而修正因为故障带来的程序数据状态中断。

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/447683
推荐阅读
相关标签
  

闽ICP备14008679号