Todos os produtos
Search
Central de documentação

Data Lake Formation:Acesse o DLF a partir do MaxCompute

Última atualização: Aug 20, 2026

Os projetos externos do MaxCompute mapeiam catálogos do Data Lake Formation (DLF), permitindo que o MaxCompute leia e grave em tempo real tabelas no formato Paimon armazenadas no Object Storage Service (OSS) gerenciado pelo DLF. O gerenciamento de permissões é delegado ao DLF, e o mapeamento no nível de catálogo viabiliza a colaboração entre múltiplos mecanismos sobre metadados compartilhados do data lake.

Os projetos externos Paimon_DLF estão atualmente em fase de visualização por convite.

Limitações

  • Há suporte apenas para tabelas no formato Paimon armazenadas no OSS gerenciado pelo DLF.

  • Não há suporte para gravação em tabelas Dynamic Bucket.

  • Não há suporte para gravação em tabelas Cross Partition.

Funcionamento das permissões

O acesso aos dados do Paimon_DLF pelo MaxCompute exige o cumprimento de duas camadas de permissão independentes. Configure ambas, pois a ausência de qualquer uma delas resulta em erros de acesso.

Camada

O que controla

Onde é gerenciada

Plano de controle

Operações no console — criação de projeto externo e anexação de catálogo DLF

Console RAM

Plano de dados

Operações SQL — leitura e gravação de tabelas Paimon, gerenciamento de schemas e tabelas no catálogo DLF anexado

Console DLF

Ao ler ou gravar dados, o MaxCompute transmite a identidade do executor da tarefa atual para o DLF. Cada sistema aplica seu próprio escopo de permissões de forma independente.

Configure a integração

Etapa

Ação

Objetivo

1

Conceder permissões

Autorizar o acesso a recursos cloud, ativar o DLF e criar uma função vinculada ao service

2

Criar uma fonte de dados externa Paimon_DLF

Definir a conexão entre o MaxCompute e o DLF

3

Criar um projeto externo

Mapear um catálogo DLF para um projeto MaxCompute

4

Consultar e gravar dados com SQL

Ler e gravar tabelas Paimon no OSS gerenciado pelo DLF

Etapa 1: Conceder permissões

A tabela a seguir indica qual tipo de conta executa cada tarefa nesta etapa.

Tarefa

Executada por

Conceder políticas RAM a um usuário RAM

Proprietário da conta Alibaba Cloud

Autorizar acesso a recursos cloud no console DLF

Proprietário da conta Alibaba Cloud

Ativar o DLF

Proprietário da conta Alibaba Cloud

Criar a função vinculada ao service do MaxCompute

Proprietário da conta Alibaba Cloud

Conceder permissões de dados do DLF a usuários RAM

Administrador do data lake (console DLF)

Conceder políticas RAM a um usuário RAM

Caso utilize um usuário Resource Access Management (RAM), anexe as políticas abaixo. Para instruções, consulte Grant permissions to a RAM user.

Política

Necessária para

AliyunRAMFullAccess

O proprietário da conta Alibaba Cloud deve concedê-la se o usuário RAM não a possuir

AliyunMaxComputeFullAccess

Criação de fontes de dados externas e projetos externos

AliyunDLFReadOnlyAccess

Criação de projetos externos — concede a permissão List no catálogo DLF

Autorizar acesso a recursos cloud e ativar o DLF

  1. Faça login no console DLF e selecione sua região no canto superior esquerdo.

  2. À direita de Permissions to access cloud resources are granted., clique em Authorize.

  3. Clique em Activate à direita de DLF is activated.

    O MaxCompute e o DLF devem estar na mesma região.

Criar uma função vinculada ao service para o MaxCompute

O MaxCompute utiliza a função vinculada ao service AliyunServiceRoleForMaxComputeLakehouse para acessar dados do DLF. Crie essa função no console RAM:

  1. Faça login no console RAM.

  2. No painel de navegação à esquerda, escolha Identities > Roles.

  3. Na página Roles, clique em Create Role.

  4. No canto superior direito, clique em Create Service Linked Role.

  5. Defina Select Service como AliyunServiceRoleForMaxComputeLakehouse e clique em Create Service Linked Role. Se uma mensagem indicar que a função já existe, ela já está autorizada. Nenhuma ação adicional é necessária.

Conceder permissões de dados do DLF a usuários RAM

As permissões do plano de dados são gerenciadas no console DLF. Faça login no console DLF e grant permissions to RAM users que precisarem ler ou gravar tabelas Paimon.

Etapa 2: Criar uma source de dados externa Paimon_DLF

  1. Faça login no console MaxCompute e selecione sua região.

  2. No painel de navegação à esquerda, escolha Manage Configurations > External Data Source.

  3. Clique em Create External Data Source.

  4. Configure os seguintes parâmetros:

    Parâmetro

    Obrigatório

    Descrição

    External Data Source Type

    Obrigatório

    Selecione Paimon_DLF

    External Data Source Name

    Obrigatório

    Deve começar com uma letra; apenas letras minúsculas, sublinhados e dígitos; máximo de 128 caracteres. Exemplo: paimon_dlf

    Description

    Opcional

    Descrição personalizada

    Region

    Obrigatório

    Padrão definido como a região atual

    Authentication And Authorization

    Obrigatório

    Padrão definido como Alibaba Cloud RAM role

    Service-linked Role

    Obrigatório

    Gerado automaticamente

    Endpoint

    Obrigatório

    Gerado automaticamente. Para a região China (Hangzhou): cn-hangzhou-intranet.dlf.aliyuncs.com

    Foreign Server Supplemental Properties

    Opcional

    Atributos adicionais para a source de dados externa

  5. Clique em OK.

  6. Na página External Data Source, localize a nova source de dados e clique em Details na coluna Actions para verificar a configuração.

Etapa 3: Criar um projeto externo

  1. Faça login no console MaxCompute e selecione sua região.

  2. No painel de navegação à esquerda, escolha Manage Configurations > Projects.

  3. Na aba External Project, clique em Create Project.

  4. Configure os parâmetros a seguir e clique em OK:

    Parâmetro

    Obrigatório

    Descrição

    Project Type

    Obrigatório

    Padrão definido como External Project

    Region

    Obrigatório

    Padrão definido como a região atual; não pode ser alterado

    Project Name (Globally Unique)

    Obrigatório

    Deve começar com uma letra; apenas letras, dígitos e sublinhados; 3–28 caracteres

    MaxCompute Foreign Server Type

    Opcional

    Padrão definido como Paimon_DLF

    MaxCompute Foreign Server

    Opcional

    Use Existing para selecionar uma source de dados externa criada anteriormente, ou Create Foreign Server para criar uma nova

    MaxCompute Foreign Server Name

    Obrigatório

    Selecione entre as sources de dados existentes ou insira o nome da nova

    Data Catalog

    Obrigatório

    O catálogo de dados DLF a ser anexado

    Billing Method

    Obrigatório

    Subscription ou Pay-as-you-go

    Default Quota

    Obrigatório

    Selecione uma cota existente

    Description

    Opcional

    Descrição personalizada

Etapa 4: Consultar e gravar dados com SQL

Select a connection tool para fazer login no projeto externo e utilize os comandos SQL a seguir.

Listar schemas

-- Enable schema syntax at the session level.
SET odps.namespace.schema=true;
SHOW schemas;

-- Sample output:
-- ID = 20250919****am4qb
-- default
-- system
-- OK

Listar tabelas em um schema

-- Replace <schema_name> with the schema name shown in the output above.
USE schema <schema_name>;
SHOW tables;

-- Sample output:
-- ID = 20250919****am4qb
-- acs:ram::<uid>:root  emp
-- OK

Criar um schema

-- Replace <schema_name> with your schema name.
CREATE schema <schema_name>;

Criar uma tabela e inserir dados

Ao gravar dados TIMESTAMP em uma tabela de source Paimon, os dados são truncados conforme sua precisão: precisão 0–3 trunca para 3 casas decimais, precisão 4–6 trunca para 6 casas decimais e precisão 7–9 trunca para 9 casas decimais.

Formato do comando:

-- Create a table.
CREATE TABLE [IF NOT EXISTS] <table_name>
(
  <col_name> <data_type>,
  ...
)
[COMMENT <table_comment>]
[PARTITIONED BY (<col_name> <data_type>, ...)]
;

-- Insert data.
INSERT {INTO|OVERWRITE} TABLE <table_name> [PARTITION (<pt_spec>)] [(<col_name> [,<col_name> ...])]
<select_statement>
FROM <from_statement>

Exemplo — criar uma tabela e inserir linhas:

CREATE TABLE schema_table(id int, name string);

INSERT INTO schema_table VALUES (101, 'Zhang San'), (102, 'Li Si');

-- Verify the data.
SELECT * FROM schema_table;

-- Result:
-- +------------+------------+
-- | id         | name       |
-- +------------+------------+
-- | 101        | Zhang San  |
-- | 102        | Li Si      |
-- +------------+------------+
Se você estiver conectado como um usuário RAM, a criação de tabelas e a inserção de dados exigem permissões no catálogo DLF. Consulte Data authorization management .

Ler e gravar no schema padrão

USE schema default;
SHOW tables;

-- Sample output:
-- ID = 20250919*******yg5
-- acs:ram::<uid>:root  emp
-- acs:ram::<uid>:root  emp_detail
-- acs:ram::<uid>:root  test_table
-- OK

-- Read data.
SELECT * FROM test_table;

-- Result:
-- +------------+------------+
-- | id         | name       |
-- +------------+------------+
-- | 101        | Zhang San  |
-- | 102        | Li Si      |
-- +------------+------------+

-- Write data and verify.
INSERT INTO test_table VALUES (103, 'Wang Wu');

SELECT * FROM test_table;

-- Result:
-- +------------+------------+
-- | id         | name       |
-- +------------+------------+
-- | 101        | Zhang San  |
-- | 102        | Li Si      |
-- | 103        | Wang Wu    |
-- +------------+------------+

Solução de problemas

"You are not authorized to perform this action" ao criar um projeto externo

O usuário RAM não possui as permissões necessárias. Verifique o seguinte:

O código de erro nos detalhes do erro é NoMCPermission.

  1. Certifique-se de que AliyunMaxComputeFullAccess esteja anexada ao usuário RAM. Consulte Etapa 1.

  2. Verifique se as permissões do DLF foram concedidas. A criação de um projeto externo Paimon_DLF requer a seleção de um catálogo DLF, o que exige acesso ao DLF. Consulte Etapa 1.

"Forbidden: User acs:ram::\<uid\>:user/\\ doesn't have privilege LIST on DATABASE default" ao executar SHOW TABLES

O usuário RAM não tem permissões do plano de dados no catálogo DLF.

  1. Faça login no console DLF. No painel de navegação à esquerda, clique em System And Security. Na aba Access Control, atualize a página e verifique se o usuário RAM aparece.

  2. Se o usuário existir, clique em Roles e conceda as permissões necessárias ao usuário RAM.