數據湖加速
實時數據湖支持您通過外部表的方式,直接加速讀寫存儲于OSS上的數據,從而提高查詢效率并簡化數據處理流程。
背景信息
隨著云存儲(尤其是對象存儲)逐步成熟的大背景,數據湖的解決方案也逐步往云原生靠近。阿里云的湖倉一體架構,將OSS作為云上數據湖的統一存儲,為您提供安全、低成本、高可靠、可擴展的數據湖方案。
實時數據湖是在湖倉一體架構下,更加注重數據的實時屬性或者流屬性的一個數據湖發展方向。Hologres充分利用自身實時寫入、實時更新、實時分析的強大引擎能力,結合阿里云數據湖構建(Data Lake Formation,DLF)、元數據管理(Hive Metastore Service,HMS)、阿里云對象存儲(Object Storage Service,OSS)數據湖存儲服務以及豐富的生態整合,為您提供了一套完整的實時數據湖解決方案。以外部表的方式,無需移動數據(外部表只做字段映射,不真正存儲數據),直接加速讀寫存儲于OSS上的各種格式類型的數據,降低開發運維成本,打破數據孤島,實現業務洞察。
實時數據湖涉及的阿里云服務介紹如下:
服務 | 介紹 | 相關鏈接 |
阿里云數據湖構建(Data Lake Formation,DLF) | 是一款全托管的快速幫助用戶構建云上數據湖及Lakehouse的服務,產品提供了云上數據湖統一的元數據管理、統一的權限與安全管理、便捷的數據入湖能力以及一鍵式數據探索能力。 | |
元數據管理(Hive Metastore Service,HMS) | 作為Apache Hive的核心組件,主要承擔元數據存儲庫的功能,用于管理Hive Spark表的元數據信息,包括表結構(如表名、列名、數據類型、分區信息等)及表數據的存儲位置。其主要作用是提供元數據服務,支持Hive Spark進行數據查詢。 | |
阿里云對象存儲(Object Storage Service,OSS) | DLF將OSS作為云上數據湖的統一存儲,OSS是一款海量、安全、低成本、高可靠的云存儲服務,適合存放任意類型的文件,可提供12個9的數據持久性,已成為湖數據存儲的事實標準。 | |
OSS-HDFS服務(又名JindoFS)是云原生數據湖存儲,相比原生OSS存儲,OSS-HDFS與Hadoop生態計算引擎無縫集成,在典型的基于Hive和Spark的離線ETL場景擁有更好的表現,在完全兼容HDFS文件系統接口的同時,提供充分的POSIX能力支持,可以更好地滿足大數據和AI等領域的數據湖計算場景。 |
架構介紹
以下是Hologres推薦的數據湖架構方案,該架構覆蓋了從數據采集、存儲、管理直至應用的整個生命周期,同時結合了Hologres強大的引擎能力、靈活的彈性策略,為您提供一個端到端的湖倉融合解決方案。
功能簡介
Hologres V1.1版本開始支持從OSS讀取ORC、Parquet、CSV、SequenceFile格式文件。從V1.3版本開始支持從OSS讀取HUDI、Delta格式文件,支持寫入ORC、Parquet、CSV、SequenceFile格式文件至OSS。
說明請前往Hologres管控臺實例詳情頁查看當前實例版本,如果您的實例是V1.1以下版本,請您使用實例升級或加入Hologres釘釘交流群反饋,詳情請參見如何獲取更多的在線支持?。
Hologres從V1.3.25 版本開始支持使用DLF數據目錄(Multi-Catalog)做元數據隔離,方便您在測試環境、開發環境、跨部門集群之間做元數據隔離,以保障業務安全。DLF數據目錄詳情請參見數據目錄。
Hologres從V1.3.26版本開始支持讀寫存儲于OSS-HDFS上的數據。進一步擴展了數據湖加速的服務能力和邊界,使Hologres可以與Hadoop生態計算引擎無縫集成,加速讀寫存儲于HDFS上的數據,大幅提升Hadoop生態數據實時分析的效率,更好地滿足大數據和AI等領域的數據湖聯邦、實時分析訴求。
Hologres從V2.1.0版本開始支持讀取Paimon格式的外部表。Apache Paimon是流批統一的湖存儲格式,支持高吞吐的寫入和低延遲的查詢,促進數據在數據湖上真正實時的流動,并為用戶提供基于湖存儲的實時離線一體化的開發體驗。詳情請參見Apache Paimon。
Hologres從2.2版本開始,基于全新的外部表架構,實現了HQE直讀ORC、Parquet數據以及本地SSD緩存加速能力,實現了性能5倍以上的提升。支持通過 Hive Metastore來訪問存儲于OSS和OSS-HDFS上的數據。詳情請參見基于Hive Metastore訪問OSS數據湖數據(Beta)。
說明若您的實例為V2.1或以下版本,可聯系Hologres技術支持升級實例。
Hologres從3.0版本
新增External Database功能,支持DLF、MaxCompute等數據源的Catalog級別元數據映射,提升數據湖的元數據和數據管理能力,詳情請參見CREATE EXTERNAL DATABASE。
新增External Schema 和 External Table能力,支持往指定DLF Catalog下創建Database和表,方便聚合后的數據回寫,詳情請參見CREATE EXTERNAL SCHEMA 、CREATE EXTERNAL TABLE。
支持高性能寫入Paimon Append Table,方便湖倉數據自由流轉。
支持Paimon Deletion Vector優化,提升存在大量數據刪除,但是未及時Compaction時的查詢性能。
重構Delta Lake格式的Reader,讀取性能大幅提升。
支持讀取Iceberg湖格式,進一步擴展數據湖生態。
支持對接Hive MetaStore映射元數據,透明加速EMR集群。詳情請參見基于Hive Metastore訪問OSS數據湖數據(Beta)。
安全能力增強,默認使用SLR透傳身份訪問DLF2.0,同時支持以RAMRole的方式訪問DLF2.0。
使用說明
Hologres提供了三種外部數據源映射方式。
映射方式 | 功能說明 | 支持數據源 | 支持版本 | 適用場景 |
CREATE EXTERNAL DATABASE | 在Hologres實例中創建一個外部數據庫,來加載外部數據源的元數據到Hologres,方便在一個系統中同時管理內、外部數據,實現湖倉一體架構下統一的元數據管理。詳情請參見CREATE EXTERNAL DATABASE。 |
| V3.0 | 需要將外部數據源Catalog級別下的DB和表全量映射至Hologres的場景。 |
IMPORT FOREIGN SCHEMA | 通過批量創建外部表的方式,將外部數據源中的部分表自動映射至Hologres的Schema一級。詳情請參見IMPORT FOREIGN SCHEMA。 |
| V0.8 | 將外部數據源中的DB或者schema級別的表全量映射至hologres的schema級別。 |
CREATE FOREIGN TABLE | 通過手動創建外部表的方式,將外部數據源中的單張表或者表中的部分字段映射至Hologres。詳情請參見CREATE FOREIGN TABLE。 |
| V0.8 | 將部分表或者某張表的部分列數據映射至Hologres。 |
湖表格式和文件格式
表格式
表格式 | 支持的版本 | 支持的壓縮方式 |
HUDI | V1.3及以上版本支持讀。 |
|
Delta | V1.3 及以上版本支持讀。 |
|
Paimon |
|
|
Iceberg | V3.0版本支持基于DLF1.0、HMS讀取湖表,包括V1、V2表。 |
|
文件格式
文件格式 | 支持的版本 | 支持的壓縮方式 |
CSV | V1.3及以上版本支持讀寫 | COMPRESSION_CODEC
|
Parquet | V1.3及以上版本支持讀寫 |
|
ORC | V1.3及以上版本支持讀寫 |
|
SequenceFile | V1.3及以上版本支持讀寫 |
|
數據類型支持
數據類型映射Hologres與數據湖數據類型映射關系請參見數據類型匯總。