一、測試背景
數據湖作為一個集中化的數據存儲倉庫,支持結構化、半結構化以及非結構化等多種數據格式,數據來源包含數據庫數據、增量數據、日志數據以及數倉上的存量數據等。數據湖能夠將這些不同來源、不同格式的數據集中存儲和管理在高性價比的分布式存儲系統中,對外提供統一的數據目錄,支持多種計算分析方式,有效解決企業面臨的數據孤島問題,降低存儲和使用數據的成本。
Apache Hudi(音:Hoodie)是數據湖的一個開源組件,能夠攝入(Ingest)和管理(Manage)基于 HDFS 之上的大型分析數據集,支持通過 Spark 和 Flink 構建一體化數據湖解決方案。Hudi 設計的主要目的是為了高效地減少攝取過程中的數據延遲,除了經典的批處理外,Hudi 還提供插入更新(改變數據集)、增量拉取(獲取變更數據)等流處理原語,可以通過細粒度的文件/記錄級別索引方式來支持寫操作的事務保證,獲取最新快照結果,由此解鎖基于 HDFS 抽象的流/增量數據處理能力,解決 HDFS 的可伸縮性限制問題,提供快速的 ETL、建模和數據呈現。Hudi 填補了在 HDFS 上處理數據的巨大空白,可以與大數據技術很好地共存。
本文檔基于 Kafka 數據源,采用 Flink 作為計算載體,以 HDFS 作為底層存儲組