目录
- 1 – Apache InLong 简介
- 2 – InLong Manager 的作用
- 3 – InLong Manager 的 SPI 实践
- 3.1 存在的问题
- 3.2 SPI 简介
- 3.3 我们的实践
1 – Apache InLong 简介
InLong 官网 的介绍:
Apache InLong(应龙)是一个一站式的海量数据集成框架,提供自动、安全、可靠和高性能的数据传输能力,方便业务构建基于流式的数据分析、建模和应用。
https://inlong.apache.org/img/inlong-structure-zh.png
Apache InLong 依托腾讯百万亿级别的数据接入和处理能力,整合了数据采集、汇聚、存储、分拣数据处理全流程,拥有简单易用、灵活扩展、稳定可靠等特性。
该项目最初于 2019 年 11 月由腾讯大数据团队捐献到 Apache 孵化器,2022 年 6 月正式孵化毕业,成为 Apache 顶级项目(TLP)。目前 InLong 正广泛应用于广告、支付、社交、游戏、人工智能等各个行业领域,为多领域客户提供高效化便捷化服务。
2 – InLong Manager 的作用
InLong 支持大数据领域的采集、汇聚、缓存和分拣功能,用户只需要简单的配置就可以把数据从数据源导入到实时计算引擎或者落地到离线存储系统。
从前面的架构图可以看出,InLong 系统涉及采集、汇聚、缓存、分拣 4 个主要流程,如何将这些流程串联起来?
答案是,我们通过 InLong Manager 来管理系统和任务的元数据,串联任务的全流程。
这里的元数据主要包括:
InLong 系统中的用户信息、审批责任人、各类集群信息;
用户创建的数据源端、目标端,以及数据格式等信息。
其结构如下:
用户可在 InLong Dashboard 提供的 Web UI,或 通过 Manager Client 创建数据流任务,任务审批通过后,即可串联起全部流程,主要包括:
- 创建 MQ 的 Topic 和消费者;
- 创建目标端的库表结构;
- 启动 Flink 任务,从 MQ 消费数据,写入目标端。
3 – InLong Manager 的 SPI 实践3.1 存在的问题
InLong 源于腾讯内网业务,在近10年的发展中,主要支持的数据源和数据存储如下:
以数据存储为例,由于目标端的类型有限,且考虑到不同的存储类型,其参数各异,因此我们的配置表是这样设计的:
hive_sink,
es_sink
ck_sink
在 InLong 上云过程中,发现源端和目标端的类型急剧增多(云上客户需求多种多样,还会继续增加):
3.2 SPI 简介3.3 我们的实践