实时数据湖概述

实时数据湖支持您通过外部表的方式,直接加速读写存储于OSS上的数据,从而提高查询效率并简化数据处理流程。

背景信息

随着云存储(尤其是对象存储)逐步成熟的大背景,数据湖的解决方案也逐步往云原生靠近。阿里云的湖仓一体架构,将OSS作为云上数据湖的统一存储,为您提供安全、低成本、高可靠、可扩展的数据湖方案。

实时数据湖是在湖仓一体架构下,更加注重数据的实时属性或者流属性的一个数据湖发展方向。Hologres充分利用自身实时写入、实时更新、实时分析的强大引擎能力,结合阿里云数据湖构建(Data Lake Formation,DLF)、元数据管理(Hive Metastore Service,HMS)、阿里云对象存储(Object Storage Service,OSS)数据湖存储服务以及丰富的生态整合,为您提供了一套完整的实时数据湖解决方案。以外部表的方式,无需移动数据(外部表只做字段映射,不真正存储数据),直接加速读写存储于OSS上的各种格式类型的数据,降低开发运维成本,打破数据孤岛,实现业务洞察。

实时数据湖涉及的阿里云服务介绍如下:

服务

介绍

相关链接

阿里云数据湖构建(Data Lake Formation,DLF)

是一款全托管的快速帮助用户构建云上数据湖及Lakehouse的服务,产品提供了云上数据湖统一的元数据管理、统一的权限与安全管理、便捷的数据入湖能力以及一键式数据探索能力。

DLF产品简介

元数据管理(Hive Metastore Service,HMS)

作为Apache Hive的核心组件,主要承担元数据存储库的功能,用于管理Hive Spark表的元数据信息,包括表结构(如表名、列名、数据类型、分区信息等)及表数据的存储位置。其主要作用是提供元数据服务,支持Hive Spark进行数据查询。

Hive Metastore Server

阿里云对象存储(Object Storage Service,OSS)

DLF将OSS作为云上数据湖的统一存储,OSS是一款海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件,可提供12个9的数据持久性,已成为湖数据存储的事实标准。

什么是对象存储OSS

OSS-HDFS服务(又名JindoFS)是云原生数据湖存储,相比原生OSS存储,OSS-HDFS与Hadoop生态计算引擎无缝集成,在典型的基于Hive和Spark的离线ETL场景拥有更好的表现,在完全兼容HDFS文件系统接口的同时,提供充分的POSIX能力支持,可以更好地满足大数据和AI等领域的数据湖计算场景。

什么是OSS-HDFS服务

架构介绍

以下是Hologres推荐的数据湖架构方案,该架构覆盖了从数据采集、存储、管理直至应用的整个生命周期,同时结合了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 SCHEMACREATE 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

  • DLF1.0

  • DLF2.0

  • MaxCompute

V3.0

需要将外部数据源Catalog级别下的DB和表全量映射至Hologres的场景。

IMPORT FOREIGN SCHEMA

通过批量创建外部表的方式,将外部数据源中的部分表自动映射至Hologres的Schema一级。详情请参见IMPORT FOREIGN SCHEMA

  • DLF1.0

  • DLF2.0

  • Hive Metastore

  • MaxCompute

  • Hologres

V0.8

将外部数据源中的DB或者schema级别的表全量映射至hologres的schema级别。

CREATE FOREIGN TABLE

通过手动创建外部表的方式,将外部数据源中的单张表或者表中的部分字段映射至Hologres。详情请参见CREATE FOREIGN TABLE

  • DLF1.0

  • DLF2.0

  • Hive Metastore

  • MaxCompute

  • Hologres

V0.8

将部分表或者某张表的部分列数据映射至Hologres。

湖表格式和文件格式

表格式

表格式

支持的版本

支持的压缩方式

HUDI

V1.3及以上版本支持读。

  • UNCOMPRESSED

  • GZIP

  • SNAPPY

  • BROTLI

  • LZ4

  • ZSTD

  • LZ4_RAW

  • None

  • ZLIB

Delta

V1.3 及以上版本支持读。

  • UNCOMPRESSED

  • GZIP

  • SNAPPY

  • BROTLI

  • LZ4

  • ZSTD

  • LZ4_RAW

Paimon

  • V2.1及以上版本支持读

  • V3.0及以上版本支持基于DLF2.0读取湖表和写入Append Table。

  • PARQUET

    • UNCOMPRESSED

    • SNAPPY

    • GZIP

    • LZO

    • BROTLI

    • LZ4

    • ZSTD

  • ORC

    • NONE

    • ZLIB

    • SNAPPY

    • LZO

    • LZ4

Iceberg

V3.0版本支持基于DLF1.0、HMS读取湖表,包括V1、V2表。

  • PARQUET

    • UNCOMPRESSED

    • SNAPPY

    • GZIP

    • LZO

    • BROTLI

    • LZ4

    • ZSTD

  • ORC

    • NONE

    • ZLIB

    • SNAPPY

    • LZO

    • LZ4

文件格式

文件格式

支持的版本

支持的压缩方式

CSV

V1.3及以上版本支持读写

COMPRESSION_CODEC

  • BZip2Codec

  • DefaultCodec

  • GzipCodec

  • SnappyCodec

Parquet

V1.3及以上版本支持读写

  • UNCOMPRESSED

  • GZIP

  • SNAPPY

  • BROTLI

  • LZ4

  • ZSTD

  • LZ4_RAW

ORC

V1.3及以上版本支持读写

  • None

  • ZLIB

  • SNAPPY

SequenceFile

V1.3及以上版本支持读写

  • COMPRESSION_CODEC

    • BZip2Codec

    • DefaultCodec

    • GzipCodec

    • SnappyCodec

  • COMPRESSION_TYPE

    • NONE

    • RECORD

    • BLOCK

数据类型支持

数据类型映射Hologres与数据湖数据类型映射关系请参见数据类型汇总