【Draft】本文未完成
概念篇
一套数据库系统,做好 ETL Pipeline,大框架上有这几个模块需要关注:
- Data Ingestion
- Data Transformation
- Orchestration
Ingestion 涉及到感知提取外部数据。可以和第三方工具配合。
Transformation 涉及到将数据做什么变换。
Orchestration 则涉及到全流程的管理,是协调和自动化数据管道中各个步骤的过程,要确保每个步骤在正确的时间、正确的顺序和正确的条件下运行。可以基于第三方数据平台实现,如 AirFlow。
工具篇
整个Pipeline的处理,有 NiFi 这类平台性质的工具,它具备非常丰富的数据 Pipeline 处理能力,是一种可视化拖拽数据流编排,低代码 ETL 管道工具。
对一个企业来说,ETL 并不一定需要在 OLAP 数据库中完成,它可以在外部平台实现。但是,如果 OLAP 数据库能力足够,使用数据库完成 ETL 会更加简单可靠。
举个类比(便于理解)
• NiFi 就像一条聪明的“物流输送线”,把数据从一个地方搬到另一个地方,同时支持中途清洗、拆包、改名、筛选。
• Flink 像一台实时工厂机器,专门对数据“加工计算、复杂聚合、联动分析”。
• Kafka Streams 像一个“迷你计算器”,嵌在你写的 Java 服务里快速做点轻量处理。
• Spark 像一个强大的“大数据分析工厂”,适合集中计算历史数据与批处理任务。