Iceberg catalog
Iceberg Catalog 是一种 External Catalog。StarRocks 从 2.4 版本开始支持 Iceberg Catalog。您可以:
- 无需手动建表,通过 Iceberg Catalog 直接查询 Iceberg 内的数据。
- 通过 INSERT INTO 或异步物化视图(2.5 版本及以上)将 Iceberg 内的数据进行加工建模,并导入至 StarRocks。
- 在 StarRocks 侧创建或删除 Iceberg 库表,或通过 INSERT INTO 把 StarRocks 表数据写入到 Parquet 格式的 Iceberg 表中(3.1 版本及以上)。
为保证正常访问 Iceberg 内的数据,StarRocks 集群必须能够访问 Iceberg 集群的存储系统和元数据服务。目前 StarRocks 支持以下存储系统和元数据服务:
-
分布式文件系统 (HDFS) 或对象存储。当前支持的对象存储包括:AWS S3、Microsoft Azure Storage、Google GCS、其他兼容 S3 协议的对象存储( 如阿里云 OSS、华为云 OBS、腾讯云 COS、火山引擎 TOS、金山云 KS3、MinIO、Ceph S3 等)。
-
元数据服务。当前支持的元数据服务包括:Hive Metastore(以下简称 HMS)、AWS Glue、Tabular。
说明
- 如果选择 AWS S3 作为存储系统,您可以选择 HMS 或 AWS Glue 作为元数据服务。如果选择其他存储系统,则只能选择 HMS 作为元数据服务。
- 如果您使用 Tabular 作为元数据服务,则您需要使用 Iceberg 的 REST Catalog。
使用说明
StarRocks 查询 Iceberg 数据时,注意以下几点:
文件格式 | 压缩格式 | Iceberg 表版本 |
---|---|---|
Parquet | SNAPPY、LZ4、ZSTD、GZIP 和 NO_COMPRESSION |
|
ORC | ZLIB、SNAPPY、LZO、LZ4、ZSTD 和 NO_COMPRESSION |
|
准备工作
在创建 Iceberg Catalog 之前,请确保 StarRocks 集群能够正常访问 Iceberg 的文件存储及元数据服务。