Este tópico descreve como conectar o Serverless StarRocks a um catálogo do Data Lake Formation (DLF) usando o Iceberg REST.
Conecte o Serverless StarRocks ao Data Lake Formation (DLF) por meio do protocolo Iceberg REST para que o StarRocks possa consultar diretamente as tabelas Iceberg armazenadas no DLF.
Pré-requisitos
Antes de começar, verifique se você tem:
Uma instância do Serverless StarRocks executando a versão 3.3.20-2.0.0 ou posterior. Consulte Crie uma instância e EMR StarRocks release notes.
Um DLF catalog criado.
Configure o controle de acesso
O DLF usa o Resource Access Management (RAM) para o controle de acesso. Por padrão, os usuários do StarRocks não têm acesso ao DLF. Para conceder acesso, crie um usuário do RAM que atue como a identidade do StarRocks ao se conectar ao DLF, conceda a esse usuário as permissões de dados no console do DLF e, em seguida, mapeie-o para um usuário do StarRocks.
Etapa 1: Crie ou selecione um usuário do RAM
Acesse o RAM console como proprietário da conta Alibaba Cloud ou administrador do RAM.
-
Crie um usuário do RAM ou selecione um existente.
O nome do usuário do RAM pode conter apenas letras, dígitos e sublinhados (
_) para atender às convenções de nomenclatura do StarRocks.
Etapa 2: Conceder permissões de dados no DLF
Acesse o DLF console.
Acesse o seu catálogo Paimon.
-
Na aba Permissions, clique em Grant Permissions e conceda o acesso a dados necessário no seu catálogo ao usuário do RAM. Para mais informações, consulte Gerencie permissões de dados.

Etapa 3: Crie e configure um usuário do StarRocks
Acesse o EMR Serverless StarRocks console.
Clique em Connect na coluna Actions da sua instância do StarRocks. No EMR StarRocks Manager, clique em New connection, selecione a sua região e instância e, em seguida, faça login como
adminusando a senha definida ao criar a instância do Serverless StarRocks. Para mais informações, consulte Usar o EMR StarRocks Manager para conectar a uma instância do EMR Serverless StarRocks.No StarRocks Manager, acesse Security Center > User Management e clique em Create User.
-
Na caixa de diálogo Create User, configure as seguintes definições e clique em OK:
Campo
Valor
User Source
Selecione RAM User
Username
Selecione o usuário do RAM criado na etapa 1
Password
Defina uma senha para este usuário do StarRocks
Role
O padrão é
public -
Conceda privilégios do StarRocks ao novo usuário:
Na página User Management, localize o novo usuário e clique em Add Permission na coluna Actions.
Na aba Permissions, clique em Add Permission.
-
No painel Add Permission, defina Resource e Permission conforme necessário e clique em OK.
Isso concede ao usuário acesso aos recursos internos do StarRocks. Em seguida, modifique as permissões do seu catálogo DLF acessando o console do DLF.
Etapa 4: Verifique o mapeamento de usuários (opcional)
O usuário do StarRocks é mapeado para o usuário do RAM em 10 a 20 segundos. Verifique o mapeamento:
Faça login no StarRocks Manager com o novo usuário do StarRocks.
No SQL Editor, clique em + File e crie um script SQL.
-
Execute o seguinte comando:
show property;Se o ID do usuário do RAM aparecer na saída, o mapeamento estará ativo:

Crie um catálogo
Todas as tabelas criadas em um catálogo DLF usando o Iceberg REST são tabelas Apache Iceberg.
Faça login no StarRocks Manager como o usuário do RAM, execute o seguinte SQL e crie um catálogo externo apontando para o seu catálogo DLF.
Na página Queries, clique no ícone
e crie uma consulta SQL.-
Insira a seguinte instrução e clique em Run:
Parâmetros de conexão
Parâmetro
Obrigatório
Descrição
Exemplo
typeSim
O tipo de catálogo do StarRocks. Defina como
iceberg.iceberguriSim
O URI do endpoint do catálogo DLF REST. Para endpoints por região, consulte Iceberg REST.
http://cn-hangzhou-vpc.dlf.aliyuncs.com/icebergiceberg.catalog.typeSim
O tipo de implementação do catálogo. Defina como
dlf_restpara o DLF.dlf_restwarehouseSim
O nome do catálogo DLF.
iceberg_testParâmetros de autenticação
Parâmetro
Obrigatório
Descrição
Exemplo
rest.signing-regionSim
O ID da região do service DLF. Para IDs de região, consulte Service endpoint.
cn-hangzhouCREATE 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" ); -
Consulte as tabelas Iceberg no catálogo:
SELECT * FROM catalog_name.database_name.table_name;