一、测试背景
数据湖作为一个集中化的数据存储仓库,支持结构化、半结构化以及非结构化等多种数据格式,数据来源包含数据库数据、增量数据、日志数据以及数仓上的存量数据等。数据湖能够将这些不同来源、不同格式的数据集中存储和管理在高性价比的分布式存储系统中,对外提供统一的数据目录,支持多种计算分析方式,有效解决企业面临的数据孤岛问题,降低存储和使用数据的成本。
Apache Hudi(音:Hoodie)是数据湖的一个开源组件,能够摄入(Ingest)和管理(Manage)基于 HDFS 之上的大型分析数据集,支持通过 Spark 和 Flink 构建一体化数据湖解决方案。Hudi 设计的主要目的是为了高效地减少摄取过程中的数据延迟,除了经典的批处理外,Hudi 还提供插入更新(改变数据集)、增量拉取(获取变更数据)等流处理原语,可以通过细粒度的文件/记录级别索引方式来支持写操作的事务保证,获取最新快照结果,由此解锁基于 HDFS 抽象的流/增量数据处理能力,解决 HDFS 的可伸缩性限制问题,提供快速的 ETL、建模和数据呈现。Hudi 填补了在 HDFS 上处理数据的巨大空白,可以与大数据技术很好地共存。
本文档基于 Kafka 数据源,采用 Flink 作为计算载体,以 HDFS 作为底层存储组