实时开发,是提供低延迟、高吞吐、高可靠的分布式流数据实时分析工具,通过全托管的方式让用户不用关心底层计算集群的架构原理,只需要聚焦于本身的业务逻辑,具备 SQL 代码基础即可执行作业。支持通过可视化图形拖拽的方式便能快速构建实时计算作业,以及可视化页面向导方式创建实时 ETL 作业。
(一)产品特性
1. 覆盖全链路实时开发场景
提供 Kafka2.x 和 Topic 可视化管理方式;支持实时同步数据源:Kafka、MySQL Binlog、SQL Server CDC;支持 Flink1.10 和 Spark2.3。
2. 满足多样技术栈需求
针对实时同步和 Structured StreamingSQL 提供可视化拖拽组件方式、针对FlinkSQL 提供全 SQL 代码模式和 Structured Streaming、Flink 以 JAR 包方式来构建作业,满足不同层级不同技术栈的开发人员。
3. 企业级运维监控告警
提供实时同步、实时作业可视化运维监控能力,根据任务类型,可查看告警信息、Topic 消费信息、Savepoints/CheckPoints 等,可操作按Kafka Offset 或Savepoints 的数据重跑恢复操作。
4. 丰富的函数组件
支持通过 Flink1.10 新特性,提供丰富的内置函数,支持自定义 UDF 和 UDTF 函数开发;支持自定义 Groovy 实时同步函数,可对同步作业进行数据预处理。
(二)实时同步
实时同步作业,提供将源端数据源的数据实时同步到目的端数据源中,可实现数据的迁移和备份,并且在数据同步的过程中,可以对数据进行初步的预处理。
1.实时 ETL 支持多种数据源类型
提供读取kafka数据,可动态选择topic及schema版本,支持schema数据预览。支持自定义groovy函数(tochar/fielter/spliter等),可用于实时数据同步的数据预处理中,并支持多种异构数据源如kafka/oracle/kudu等,主键冲突时写入策略灵活, 其中Hive支持追加和覆盖,可支持多分区、多存储格式(orc、parquet)等。
2.运行控制及热部署
支持任务的启动、暂停、恢复、停止等操作,在启动任务时可根据 kafka consumer offset 选择最早位置、最新位置、上次消费位置、指定位置四种选择方式来控制任务运行的起点,选择指定位置时,可根据 topic 的不同分区单独设置每个分区的指定offset 位置。同时支持 schema 元数据增加字段后,可调整映射关系并热更新到任务中, 无需停止任务。
(三)实时计算
实时计算提供流式处理任务的可视化开发和代码管理,支持 Flink、FlinkSQL、StructuredStreaming、StructuredStreamingSQL 等各类实时计算引擎;支持流式处理任务的管理、监控和日志管理;提供高度伸缩性的可扩展存储集群,可自动平滑的扩容。
1.Spark 实时计算
Spark 实时计算,提供 StructuredStreaming、StructuredStreamingSQL 流式计算框架,支持多源输入和输出、Spark 作业参数调优、支持多种窗口、可设置时间特征(EventTime、ProcessingTime)、可按 Checkpoint、Kafka Offset 方式恢复作业、并且提供 complete、append、update 多种写入模式、处理多种数据格式(cdc、ogg、binlog、debeziu、json)、UDX 函数(UDF、UDTF)及多流多维表连续 Join 等功能。
2.丰富的 SQL 在线编辑
提供 Window、Join 等聚合函数,实时计算中支持 SQL 算子代码开发来表达业务逻辑,简便快捷低门槛地实现业务。
4.图形化拖拽的编程模式
提供了图形化可视化拖拽编程模式,将需要对接的上下游输入输出数据源封装成可拖拽的组件,结合 SQL 处理算子组件,用户只需要将其拖入画布中并用连线将各个元素连接,就能轻松的创建出一个实时计算作业的拓扑,再通过点击画布中的各个元素设置对应参数,就能轻松完成一个作业的编辑。
5.多版本作业管理
提供作业的版本管理及回滚,可查看各个版本信息,方便追踪变化过程,当代码异常时,可紧急回滚到之前某个稳定版本的代码分支,方便管理日常的发布和异常情况的应急预案,降低业务影响。
6.任务防冲突机制
提供实时任务的锁定与解锁,防止因多人同时编辑任务导致代码冲突而产生异常状况。
(四)函数开发
通过内置/自定义函数开发,便于用户自由灵活开发实现复杂业务,应对复杂业务场景,弥补SQL开发的边界,拓展开发功能,具体如下:
1.实时计算函数
支持本地上传jar文件开发实时计算Spark自定义函数/实时计算Flink自定义函数,进行数据预处理。
2.实时同步函数
提供自定义代码开发Groovy实时同步函数,对实时同步作业进行数据预处理。
支持系统内置函数集成,在线调试、管理,开发风格自定义,可根据喜好自定义选择。
(五)Kafka 管理
提供全方位Kafka集群资源管理,包括Topic、Broker,消费者清单等,便于管理、运维集群,屏蔽底层式交互,具体如下:
1.Kafka 集群管理
提供Kafka集群管理,支持Kafka集群及服务的配置:Kafka服务选择、Zookeeper 地址录入、服务管理员用户选择。
2.Kafka Topic 消费详情
提供Topic管理,支持编辑查看Topic中Schema、Partition、Consumer等信息:
(1)提供Schema详情,支持编辑查看Schema信息,Schema数据格式支持cdc、ogg、 binlog、debezium、json等;
(2)提供Partition详情,支持查看Partition分区列表及各分区的Leader、Replicas、ISR、LogSize等信息
(3)提供Consumer详情,支持查看Consumer消费者清单、可查看每个Topic的消费者清单及消费者的主机、消费位置等信息。
3.Kafka Broker 状态监控
支持查看集群的 Broker 列表及其存活状态,可查看 Kafka 集群的 Brokers 列表, Broker 的主机及存活状态;
(六)资源文件
提供满足复杂度更高的实时业务场景,支持Flink、Spark UDFX,开发更加自由灵活,用户只需通过上传自定义Jar资源,即可提交平台完成实时任务智能调度。