You need to enable JavaScript to run this app.
导航
读取LAS数据
最近更新时间:2024.11.21 11:22:58首次发布时间:2024.02.23 16:28:31

本文介绍使用External Catalog读取LAS数据。通过创建 LAS Catalog,您不需要执行数据导入就可以直接查询 LAS里的数据。

说明

目前读取LAS数据功能需要开白使用,如需操作请通过 提工单 的方式,联系火山引擎技术支持人员。

LAS简介

LAS(Lakehouse Analytics Service) 是一种数据湖解决方案,目标是简化和加速数据湖的建设和管理过程。通过提供的统一元数据管理、数据访问控制、元数据发现和数据集成等关键功能,帮助组织打破数据孤岛,加强湖仓体系建设,更好地组织、共享、访问和分析大规模企业数据。详细说明可参考官方文档

使用限制

  • StarRocks集群需要和LAS Catalog在同一个地域。引擎相关操作请参考StarRocks-Hive Catalog
  • 仅StarRocks 3.2.7及以上版本支持,且仅Serverless StarRocks支持。

创建LAS Catalog External Catalog

如下以数据存储在TOS为例。

语法

CREATE EXTERNAL CATALOG <catalog_name>
[COMMENT <comment>]
PROPERTIES
(
  "type"  =  "hive",
  "hive.metastore.type"  =  "las",
  "hive.metastore.uris"  =  "thrift://<LAS Catalog Hive MetaStore的IP地址>:48869",
  "las.hive.metastore.service"  =  "catalog_service"
  "las.hive.metastore.region"  =  "<LAS Catalog region>",
  "las.hive.metastore.access.key"  =  "<LAS Catalog ak>",
  "las.hive.metastore.secret.key"  =  "<LAS Catalog sk>",
  "aws.s3.enable_ssl" = "false",
  "aws.s3.region" = "<tos_region}>",
  "aws.s3.use_instance_profile" = "false",
  "aws.s3.use_aws_sdk_default_behavior" = "false",
  "aws.s3.endpoint" = "<tos_endpoint>",
  "aws.s3.access_key" = "<tos_access_key>",
  "aws.s3.secret_key" = "<tos_secret_key>"
)

参数说明

参数

必选

说明

catalog_name

外挂到LAS Catalog的catalog名称,命名要求如下:

  • 必须由字母 (a-z 或 A-Z)、数字 (0-9) 或下划线 (_) 组成,且只能以字母开头。
  • 总长度不能超过 1023 个字符。
  • Catalog 名称大小写敏感。

comment

外挂到LAS Catalog的catalog描述。

las.hive.metastore.region

LAS Catalog 实例地域,参考官网文档

hive.metastore.uris

Hive MetaStore的URI。格式为thrift://<LAS Catalog Hive MetaStore的IP地址>:48869。具体地址可以参考官网文档对应地域的值。

las.hive.metastore.access.key

访问LAS元数据的AK。需要有LAS Catalog相关库表权限。具体可以参考LAS官网快速入门权限管理给某个子用户授权,之后给该子用户创建ak/sk即可。该步骤请参考访问密钥

las.hive.metastore.secret.key

访问LAS元数据的SK。需要有LAS Catalog相关库表权限。具体可以参考LAS官网快速入门权限管理给某个子用户授权,之后给该子用户创建ak/sk即可。该步骤可以参考访问密钥

aws.s3.region

TOS桶实例所在的地区。参考地域和访问域名(Endpoint),一般和上面las.hive.metastore.region为一个地址。

aws.s3.endpoint

TOS桶实例所在的地区,参考TOS相关文档。注意这里需要填写s3 Endpoint。另外如果tos和lasformation是同一region建议用内网地址。

aws.s3.access_key

TOS使用的AK。

aws.s3.secret_key

TOS使用的SK。

删除Catalog

通过DROP CATALOG可以删除指定的外挂到LAS Catalog的catalog。

语法

DROP CATALOG <catalog_name>

查询数据

创建好外挂到LAS Catalog的catalog后,我们可以通过它访问las数据。

  1. 设置当前catalog。

假设我们创建的catalog_name为las

set catalog las;
  1. 切换数据库。

如下以sr_demo数据库为例,用户需将sr_demo替换为实际数据库。

USE sr_demo;
  1. 查看表结构。

如下以sr_demo_test表为例,用户需将sr_demo_test替换为实际数据表。

DESC sr_demo_test;
SHOW CREATE TABLE sr_demo_test;
  1. 查询表中数据。

如下以sr_demo_test表为例,用户需将sr_demo_test替换为实际数据表。

SELECT * FROM sr_demo_test LIMIT 10;
  1. 导入数据到内表。

假设有一个 OLAP 表,在库olap_db下,表名为 olap_tbl。您可以这样来转换该表中的数据,并把数据导入到 StarRocks 中:

INSERT INTO default_catalog.olap_db.olap_tbl SELECT * FROM las.sr_demo.sr_demo_test;
  1. 删除Catalog。
DROP CATALOG las;

元数据缓存

和开源Hive catalog逻辑一致,目前StarRocks会缓存元数据,参考StarRocks文档。如果遇到需要手动刷新缓存的场景,可以执行如下语句。

refresh external table <table_name>;