E-MapReduce(简称EMR)的EMR-5.8.0及之后版本的集群(对应StarRocks 2.3及之后的版本)支持查询元数据类型为DLF的外表。本文通过示例为您介绍如何访问DLF的外部表。
前提条件
已创建EMR-5.8.0及之后版本的数据分析(OLAP)或自定义场景(Custom)的集群,且选择了StarRocks服务,详情请参见创建集群。
操作步骤
- 使用SSH方式登录StarRocks集群,详情请参见登录集群。
- 执行以下命令,连接StarRocks集群。
mysql -h127.0.0.1 -P 9030 -uroot
- 执行以下命令,创建External Catalog。
CREATE EXTERNAL CATALOG hive_catalog0 properties ( "type" = "hive", "dlf.catalog.endpoint" = "dlf-vpc.cn-beijing.aliyuncs.com", "dlf.catalog.region" = "cn-beijing", "dlf.catalog.proxyMode" = "DLF_ONLY", "dlf.catalog.akMode" = "EMR_AUTO", "hive.metastore.type" = "DLF" );
参数 描述 备注 type 数据源的类型。 支持的数据源类型有hive、hudi、iceberg、deltalake。 本示例为hive。
dlf.catalog.region DLF服务的地域名。 详情请参见已开通的地域和访问域名。 说明 请和dlf.catalog.endpoint选择的地域保持一致。dlf.catalog.endpoint DLF服务的Endpoint。 详情请参见已开通的地域和访问域名。 推荐您设置dlf.catalog.endpoint参数为DLF的VPC Endpoint。例如,如果您选择的地域为cn-hangzhou地域,则dlf.catalog.endpoint参数需要配置为dlf-vpc.cn-hangzhou.aliyuncs.com。说明 您也可以使用DLF的公网Endpoint,如果您选择的地域为cn-hangzhou地域,则dlf.catalog.endpoint参数需要配置为dlf.cn-hangzhou.aliyuncs.com。dlf.catalog.akMode DLF服务的AccessKey模式。 建议配置为EMR_AUTO。 dlf.catalog.proxyMode DLF服务的代理模式。 建议配置为DLF_ONLY。 dlf.catalog.id 待读取的DLF Catalog ID。 如果不添加该配置,则使用默认DLF Catalog。 hive.metastore.type 配置MetaStore类型。 固定值为DLF。 - 查询数据。
show databases from hive_catalog0; +----------+ | Database | +----------+ | default | +----------+ 1 rows in set (1.86 sec) use hive_catalog0.default; Database changed show tables; +--------------------+ | Tables_in_hive_oss | +--------------------+ | t | +--------------------+ 1 row in set (0.04 sec) select * from t; +------+ | id | +------+ | 2 | +------+ 1 row in set (0.07 sec)