实时数据湖支持您通过外部表的方式,直接加速读写存储于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与数据湖数据类型映射关系请参见数据类型汇总。