使用DLF 2.0 Catalog

DLF 2.0提供全托管Paimon元数据和数据的存储及管理服务,支持多种存储优化策略,可以提供更加安全和更高性能的湖管理。本文将介绍如何在EMR Serverless StarRocks中使用阿里云DLF 2.0。

背景信息

阿里云数据湖构建(Data Lake Formation,简称DLF)是一款全托管的统一元数据和数据存储及管理平台,详细信息请参见产品简介

前提条件

  • 已创建Serverless StarRocks实例,且实例版本为3.2。创建示例的详细信息,请参见创建实例

  • 已创建DLF 2.0数据目录。如未创建,详情请参见数据目录

创建DLF 2.0 Catalog

语法

CREATE EXTERNAL CATALOG <catalog_name>
PROPERTIES (
"type"  =  "paimon",
"paimon.catalog.type"  =  "dlf-paimon",
"dlf.catalog.id"  =  "clg-paimon-xxxx"
);

参数说明

参数

是否必填

说明

<catalog_name>

DLF Catalog的名称,必选参数。命名要求如下:

  • 必须由字母(a~z或A~Z)、数字(0~9)或下划线(_)组成,并且只能以字母开头。

  • 总长度不能超过64个字符。

type

Catalog类型,DLF 2.0当前仅支持Paimon Catalog,填写固定值paimon

paimon.catalog.type

Paimon的Catalog类型,在DLF 2.0场景中应填写固定值dlf-paimon

dlf.catalog.id

DLF 2.0的ID,您可以在数据湖构建控制台数据目录页面获取。

使用DLF 2.0 Catalog示例

步骤一:在Serverless StarRocks中添加用户

重要

DLF 2.0的访问控制是RAM级别的。默认情况下所有StarRocks用户均不具备DLF 2.0的任何权限,因此您必须添加一个已存在的RAM用户并进行授权。如果未创建RAM用户,请参见创建RAM用户

  1. 进入EMR Serverless StarRocks实例列表页面。

    1. 登录E-MapReduce控制台

    2. 在左侧导航栏,选择EMR Serverless > StarRocks

    3. 在顶部菜单栏处,根据实际情况选择地域。

  2. 实例列表页面,单击已创建实例操作列的连接实例,详情请参见通过EMR StarRocks Manager连接StarRocks实例

    您可以选择使用admin或StarRocks超级管理员权限,以连接StarRocks实例。

  3. 左侧菜单栏,选择安全中心 > 用户管理,单后单击添加用户

  4. 添加用户对话框中,用户来源选择RAM用户用户名选择一个已存在的RAM用户(dlf-user),用户类型选择普通用户,其余参数请根据实际情况填写,然后单击确定

    image

    说明

    此处的权限分配仅限于StarRocks内部表,不涵盖数据湖构建DLF。若需调整DLF数据目录的访问权限,您必须前往数据湖构建控制台,对相应的RAM用户权限进行修改,确保与所需权限匹配。

步骤二:在DLF 2.0中为Catalog授权

  1. 登录数据湖构建控制台

  2. Catalog列表页面,单击Catalog名称。

  3. 单击权限页签,单击授权

  4. 选择对用户授权,在选择授权用户下拉列表中选择RAM用户(dlf-user)。

  5. 预置权限类型选择Custom,授权该用户当前数据目录及其下所有资源的ALL权限。

  6. 单击确定

步骤在Serverless StarRocks中创建DLF 2.0 Catalog

重要

请使用步骤一中添加的RAM用户(dlf-user),重新连接至StarRocks实例,并创建SQL查询,以便访问DLF 2.0外表。

  1. SQL Editor查询列表页面,单击image图标,创建SQL查询。

  2. 输入以下SQL,单击运行

    CREATE EXTERNAL CATALOG `dlf_catalog`
    PROPERTIES (
      "type"  =  "paimon",
      "paimon.catalog.type"  =  "dlf-paimon",
      "dlf.catalog.id"  =  "clg-paimon-d0f14532788946afba4ae14543******"
    );

步骤四:在Serverless StarRocks中读写数据

创建数据库

CREATE DATABASE IF NOT EXISTS dlf_catalog.sr_dlf_db;

创建数据表

CREATE TABLE dlf_catalog.sr_dlf_db.ads_age_pvalue_analytics(
    final_gender_code STRING COMMENT '性别',
    age_level STRING COMMENT '年龄层次',
    pvalue_level STRING COMMENT '消费档次',
    clicks INT COMMENT '点击次数',
    total_behaviors INT COMMENT '总行为次数'
);

插入数据

INSERT INTO dlf_catalog.sr_dlf_db.ads_age_pvalue_analytics (final_gender_code, age_level, pvalue_level, clicks, total_behaviors)
VALUES 
('M', '18-24', 'Low', 1500, 2500),
('F', '25-34', 'Medium', 2200, 3300),
('M', '35-44', 'High', 2800, 4000);

查询数据

SELECT * FROM dlf_catalog.sr_dlf_db.ads_age_pvalue_analytics;

返回信息如下图所示。

image

相关文档

Paimon Catalog的更多介绍,请参见Paimon Catalog