全部产品
Search
文档中心

数据湖构建:Serverless StarRocks以Iceberg REST访问DLF

更新时间:Jul 08, 2026

本文为您介绍如何将Serverless StarRocks以Iceberg REST对接DLF Catalog。

前提条件

创建StarRocks账号与授权

DLF的访问控制是RAM级别的。默认情况下,所有StarRocks用户均不具备DLF的任何权限,因此您必须创建一个和RAM用户同名的内部用户,并为其授予相应的权限。

  1. 创建RAM用户。

    1. 使用阿里云账号或RAM管理员登录RAM控制台

    2. 创建一个新的RAM用户或选择一个已有RAM用户。创建RAM用户,请参见快速入门:创建RAM用户并授权

      说明

      该RAM用户的名称需符合StarRocks的用户命名规则,即只包含字母、数字、下划线,不能包含短横线、句号。

  2. 在DLF中为该RAM用户授权。

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

    2. 创建或选择一个Catalog,请参见数据目录

    3. 切换到权限页签,单击授权,根据需求授予上一步所选用户访问Catalog的相关权限。详情请参见数据授权管理。例如:RAM用户的用户名为emr,授予该用户当前Catalog的全部权限。

      image

  3. 在Serverless StarRocks中创建一个与该RAM同名的用户。赋予该用户创建External Catalog以及查看所有Catalog的权限,并将该用户与RAM用户关联。

    1. 登录EMR Serverless StarRocks控制台

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

      指定用户名为admin或StarRocks超级管理员,连接StarRocks实例。

    3. 在EMR StarRocks Manager页面的左侧菜单栏,选择安全中心 > 用户管理,单击添加用户

    4. 在弹出的对话框中,配置以下信息,单击确定

      • 用户来源:选择RAM用户

      • 用户名:选择上一步授权的RAM用户。

      • 密码:自定义。

      • 角色:默认public。

    5. 添加用户成功后,为该用户授权。

      1. 用户管理页面,单击目标用户操作列的授权

      2. 权限管理页签,单击添加权限

      3. 添加权限面板中,配置以下参数,单击确定

        • 资源:选择相应资源。

        • 权限配置:勾选需要授权的权限。

        说明

        此处StarRocks Manager中授权数据库与授权权限的内容只包含StarRocks内表。要想修改DLF数据目录的访问权限,只能在数据湖构建控制台修改对应同名RAM用户的权限。

  4. (可选)验证用户是否关联成功。

    因上一步操作有10~20秒的延迟,您可使用该用户登录StarRocks Manager,在SQL Editor查询列表页面,单击image图标,创建SQL查询。通过SQL Editor执行以下命令,查看当前用户关联的Ram User ID,不为空时说明关联成功。

    show property;

创建Catalog

说明

通过Iceberg REST 在DLF Catalog创建的表均为Iceberg表

使用该RAM用户登录StarRocks Manager,创建或查看DLF Catalog,即可访问到DLF外表。

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

  2. 输入以下SQL,单击运行,创建External Catalog。

    CREATE EXTERNAL CATALOG iceberg_catalog
    PROPERTIES
    ( 
        "type" = "iceberg",
        "uri" = "http://cn-hangzhou-vpc.dlf.aliyuncs.com/iceberg",
        "iceberg.catalog.type" = "dlf_rest",
        "warehouse" = "iceberg_test",
        "rest.signing-region" = "cn-hangzhou"
    );

    参数说明如下。

    参数

    说明

    示例

    type

    StarRocks的Catalog类型,固定值 iceberg

    iceberg

    uri

    访问DLF Rest Catalog的URI,详见Iceberg REST

    http://cn-hangzhou-vpc.dlf.aliyuncs.com/iceberg

    iceberg.catalog.type

    DLF场景填写固定值dlf_rest

    dlf_rest

    warehouse

    DLF Catalog名称。

    iceberg_test

    rest.signing-region

    DLF服务的Region ID,详见服务接入点与公网访问

    cn-hangzhou

  3. 运行以下SQL,可查询Iceberg Catalog下的库表信息。

    SELECT * FROM catalog_name.database_name.table_name;