Iceberg Catalog是一种External Catalog。通过Iceberg Catalog,您可以直接查询Iceberg中的数据。本文为您介绍如何在E-MapReduce的StarRocks集群上创建和查看Iceberg Catalog。
前提条件
使用限制
创建的两个集群需要在同一个VPC下,并且在同一个可用区下。
StarRocks当前支持查询Versions 1表(Analytic Data Tables),暂不支持查询Versions 2表(Row-level Deletes)。两种表的详细信息请参见Iceberg Table Spec。
创建Iceberg Catalog
语法
CREATE EXTERNAL CATALOG <catalog_name>
PROPERTIES
(
"key"="value",
...
);
参数说明
catalog_name
:Iceberg Catalog的名称,必选参数。命名要求如下:必须由字母(a~z或A~Z)、数字(0~9)或下划线(_)组成,并且只能以字母开头。
总长度不能超过64个字符。
PROPERTIES
:Iceberg Catalog的属性,必选参数。Iceberg使用的元数据服务不同,该参数的配置也不同。Iceberg Catalog的作用是保存Iceberg表和其存储路径的映射关系。不同元数据服务的配置方法如下:属性
是否必选
说明
type
是
数据源类型,取值为
iceberg
。iceberg.catalog.type
是
Iceberg中Catalog的类型。使用Hive MetaStore则设置该参数为
HIVE
。hive.metastore.uris
否
Hive MetaStore的URI。格式为
thrift://<Hive MetaStore的IP地址>:<端口号>
,端口号默认为9083。当使用DLF的元数据时,该配置可省略。
示例
以下示例创建了一个名为iceberg_catalog
的Iceberg Catalog。
CREATE EXTERNAL CATALOG iceberg_catalog
PROPERTIES
(
"type" = "iceberg",
"iceberg.catalog.type" = "HIVE",
"hive.metastore.uris" = "thrift://xx.xx.xx.xx:9083"
);
查看Iceberg表数据
您可以通过SELECT查询目标数据库中的目标表。
SELECT * FROM <catalog_name>.<database_name>.<table_name>;
相关文档
Iceberg更多介绍,请参见Iceberg概述。