Todos os produtos
Search
Central de documentação

OpenLake:Migrar um catálogo Paimon FileSystem para o DLF

Última atualização: Jul 05, 2026

Este tópico descreve como implantar um job JAR no Realtime Compute for Apache Flink para migrar um catálogo Paimon FileSystem para o DLF.

Contexto

Um catálogo Paimon FileSystem armazena metadados de tabelas em um sistema de arquivos, como o Object Storage Service (OSS). Embora essa abordagem funcione para implantações independentes do Paimon, ela não se integra a serviços centralizados de governança. O Data Lake Formation (DLF) oferece um catálogo de metadados unificado com controle de acesso, auditoria e descoberta entre serviços. A migração para o DLF permite gerenciar tabelas Paimon junto com outros ativos de dados em um único catálogo governado.

Este guia descreve como migrar usando um job em lote do Flink que executa a ação clone do Paimon. O job lê metadados e dados do catálogo FileSystem e os registra no catálogo DLF. É possível migrar uma única tabela, um banco de dados inteiro ou um catálogo completo em uma única execução do job.

Pré-requisitos

Antes de começar, conclua as etapas a seguir:

Requisitos de computação

Requisitos de catálogo

Requisitos de acesso

  • Obtenha um AccessKey ID e um AccessKey secret de uma conta Alibaba Cloud ou usuário RAM que tenha permissões de leitura e gravação no OSS e acesso ao DLF. Consulte Criar um AccessKey.

Importante

O AccessKey secret é exibido apenas no momento da criação e não pode ser recuperado posteriormente. Armazene-o com segurança antes de prosseguir.

Procedimento

Etapa 1: Criar um job JAR

  1. Faça logon no console do Realtime Compute for Apache Flink.

  2. Na lista de workspaces totalmente gerenciados do Flink, clique em no nome do seu workspace.

  3. No painel de navegação à esquerda, escolha Operation Center > Deployments.

  4. Clique em Deploy Job, selecione JAR Job e defina os parâmetros a seguir.

    Para obter uma descrição completa dos parâmetros de implantação, consulte Implantar um job JAR .

    Parâmetro

    Descrição

    Exemplo

    Deployment Mode

    Fixo como Batch Mode.

    Batch Mode

    Deployment Name

    Um nome para o job JAR.

    migrate_paimon

    Engine Version

    A versão do mecanismo Flink.

    vvr-8.0.11-flink-1.17

    JAR URI

    Faça upload do pacote paimon-flink-action-1.3-SNAPSHOT-for-clone-20250909.jar. Se já tiver feito o upload anteriormente, selecione-o na lista suspensa.

    Entry Point Class

    A classe de ponto de entrada do JAR.

    Deixe em branco

    Entry Point Main Arguments

    Parâmetros passados para o método principal. Defina na etapa 2.

    Deixe em branco por enquanto

    Additional Dependencies

    Faça upload do pacote paimon-ali-vvr-8.0-vvp-1.3-ali-SNAPSHOT-for-clone-20250909.jar. Se já tiver feito o upload anteriormente, selecione-o na lista suspensa.

  5. Clique em Deploy.

Etapa 2: Configurar parâmetros e iniciar o job

O campo Entry Point Main Arguments define o catálogo de source para leitura, o catálogo de destino para gravação e o escopo da migração.

  1. Na página Job O&M, localize o job JAR criado e clique em Details.

  2. Na página Deployment Details, clique em Edit no canto superior direito.

  3. Defina o campo Entry Point Main Arguments usando o modelo de comando abaixo e substitua os espaços reservados pelos seus valores.

    Modelo de comando

    clone
    --parallelism '<parallelism>'
    --database '<database-name>'
    --table '<table-name>'
    --catalog_conf 'metastore=filesystem'
    --catalog_conf "warehouse=<warehouse>"
    --catalog_conf 'fs.oss.endpoint=<fs.oss.endpoint>'
    --catalog_conf 'fs.oss.accessKeyId=<fs.oss.accessKeyId>'
    --catalog_conf 'fs.oss.accessKeySecret=<fs.oss.accessKeySecret>'
    --target_database '<target-database-name>'
    --target_table '<target-table-name>'
    --target_catalog_conf 'metastore=rest'
    --target_catalog_conf 'warehouse=<target-warehouse>'
    --target_catalog_conf 'uri=<dlf.next.endpoint>'
    --target_catalog_conf 'token.provider=dlf'
    --target_catalog_conf 'dlf.access-key-id=<dlf.access-key-id>'
    --target_catalog_conf 'dlf.access-key-secret=<dlf.access-key-secret>'
    --clone_from 'paimon'
    --where '<filter-spec>'

    Referência de parâmetros

    Item de configuração

    Obrigatório

    Descrição

    Exemplo

    parallelism

    Não

    Simultaneidade do job.

    16

    database-name

    Não

    Nome do banco de dados do catálogo FileSystem a ser clonado. Omita ao migrar um catálogo inteiro.

    my_database

    table-name

    Não

    Nome da tabela do catálogo FileSystem a ser clonada. Omita ao migrar um banco de dados ou catálogo inteiro.

    my_table

    warehouse

    Sim

    Caminho OSS do catálogo FileSystem. Formato: oss://<bucket>/<object>. Encontre os nomes do bucket e do objeto no console do OSS.

    oss://my-bucket/paimon-data

    fs.oss.endpoint

    Sim

    Endpoint do serviço OSS. Para OSS: oss-cn-hangzhou-internal.aliyuncs.com. Para OSS-HDFS: cn-hangzhou.oss-dls.aliyuncs.com. Consulte Regiões e endpoints.

    oss-cn-hangzhou-internal.aliyuncs.com

    fs.oss.accessKeyId

    Sim

    AccessKey ID da conta ou usuário RAM com permissões de leitura e gravação no OSS. Consulte Criar um AccessKey.

    fs.oss.accessKeySecret

    Sim

    AccessKey secret correspondente a fs.oss.accessKeyId.

    target-database-name

    Não

    Nome do banco de dados DLF de destino. Omita ao migrar um catálogo inteiro.

    target_database

    target-table-name

    Não

    Nome da tabela DLF de destino. Omita ao migrar um banco de dados ou catálogo inteiro.

    target_table

    target-warehouse

    Sim

    Nome do catálogo de dados DLF de destino. Visualize os nomes dos catálogos no console do DLF. Consulte Catálogos de dados.

    dlf.next.endpoint

    Sim

    Endpoint do serviço DLF. Consulte Endpoints.

    cn-hangzhou-vpc.dlf.aliyuncs.com

    dlf.access-key-id

    Sim

    AccessKey ID para acessar o DLF.

    dlf.access-key-secret

    Sim

    AccessKey secret para acessar o DLF.

    clone_from

    Sim

    Tipo de catálogo de source. Sempre defina como 'paimon' para esta migração.

    paimon

    filter-spec

    Não

    Condição de filtro de partição. Omita para migrar todas as partições.

    dt = '2024-10-01'

    excluded_tables

    Não

    Tabelas a excluir das migrações de catálogo ou banco de dados. Não aplicável a migrações de tabela única. Formato: <db>.<table>,<db2>.<table2>.

    my_db.my_tbl,my_db2.my_tbl2

    Importante
    • Para migrar uma única tabela, inclua --database, --table, --target_database e --target_table. Todos os quatro parâmetros são obrigatórios.

    • Para migrar um banco de dados inteiro, inclua --database e --target_database. Não defina --table nem --target_table. Opcionalmente, use --excluded_tables para ignorar tabelas específicas.

    • Para migrar um catálogo inteiro, omita --database, --table, --target_database e --target_table. Opcionalmente, use --excluded_tables para ignorar tabelas específicas.

  4. Clique em Save na página Deployment Details.

  5. Na página Job O&M, clique em Start ao lado do job JAR para iniciá-lo com os parâmetros padrão.

Etapa 3: Verificar o resultado

Após a conclusão do job, confirme se a migração foi bem-sucedida.

  1. Na página Job O&M, aguarde até que o status do job mude para Finished.

  2. Faça logon no console do DLF e acesse o catálogo de dados de destino.

  3. Verifique os dados migrados conforme o escopo da migração:

    Escopo da migração

    O que verificar

    Migração de catálogo completo

    A estrutura do catálogo, os bancos de dados e as tabelas no DLF correspondem aos do catálogo FileSystem de source.

    Migração de banco de dados completo

    As estruturas de banco de dados e tabelas no DLF correspondem às do catálogo FileSystem de source.

    Migração de tabela única

    A estrutura da tabela no DLF corresponde à do catálogo FileSystem de source.

Solução de problemas

Sintoma

Causa provável

Resolução

O job falha imediatamente após o início

URI do JAR incorreto ou JAR de dependência adicional ausente.

Faça o upload novamente de ambos os arquivos JAR e confirme se as versões correspondem.

O job termina, mas há tabelas ausentes no DLF

O valor de --target_catalog_conf 'warehouse=...' não corresponde à configuração do catálogo DLF.

No console do DLF, verifique o URI do warehouse configurado para o catálogo de dados e atualize o parâmetro target-warehouse adequadamente.

Erros de autenticação durante o job

AccessKey ID ou AccessKey secret incorretos, ou permissões RAM insuficientes.

Confirme se as credenciais do AccessKey são válidas e se a conta ou usuário RAM associado possui permissões de leitura/gravação no OSS e permissões de acesso ao DLF.

A estrutura da tabela no DLF não corresponde à source após a migração

O esquema da tabela de source foi alterado entre as execuções da migração.

Execute novamente o job de migração ou atualize manualmente o esquema da tabela no DLF para corresponder à source.