Todos os produtos
Search
Central de documentação

Realtime Compute for Apache Flink:Gerenciar catálogos do Paimon

Última atualização: Oct 16, 2026

Os catálogos do Paimon conectam o Flink aos metadados do data lake armazenados no OSS ou no DLF. Saiba como criar e gerenciar catálogos, bancos de dados e tabelas.

Antes de começar

  • Requisitos de versão

    • VVR 8.0.5 ou posterior: necessário para criar catálogos e tabelas do Paimon.

    • VVR 11.1 ou posterior: necessário para usar o DLF como metastore.

    • VVR 11.8 ou posterior: necessário para usar o OSS-HDFS como armazenamento do Paimon Filesystem Catalog.

  • Requisitos de armazenamento

    O Paimon armazena dados e metadados no OSS. Configure seu bucket do OSS da seguinte forma:

    • Classe de armazenamento: use Standard. Classe de armazenamento.

    • Configuração do bucket: crie um bucket dedicado na mesma região do seu workspace do Flink. Não reutilize o bucket padrão do sistema para evitar conflitos de dados.

  • Permissões de acesso: certifique-se de que o par de AccessKey tenha permissões de leitura e gravação no seu bucket do OSS ou no diretório do DLF.

  • Compatibilidade de formato

    Os catálogos do Paimon suportam apenas o formato Paimon. Outros formatos, como Lance e Iceberg, não são suportados.

  • Atualização do console: após criar ou excluir um catálogo, banco de dados ou tabela, clique em refresh image para atualizar o console.

  • Mapeamento de versões do Paimon

    Versão do Apache Paimon

    VVR

    2.0.0

    11.9

    1.3.1

    11.5, 11.6, 11.7, 11.8

    1.3

    11.4

    1.2

    11.2, 11.3

    1.1

    11.1

    1.0

    8.0.11

Criar um catálogo

Escolha um tipo de metastore com base no seu cenário:

  • Catálogo Filesystem: Armazena metadados no OSS. Ideal para implantações simples.

  • Catálogo DLF: Armazena metadados no Data Lake Formation (DLF). Mais indicado para cenários corporativos com gerenciamento unificado de metadados.

Criar um catálogo Filesystem

Opção 1: Usar o console (Recomendado)

  1. Acesse a página Catalogs.

    1. Faça login no Management Portal. Encontre o workspace de destino e clique em Console na coluna Actions.

    2. No painel de navegação à esquerda, clique em Catalogs.

  2. Clique em Create Catalog, selecione Apache Paimon e, em seguida, clique em Next.

  3. Defina metastore como filesystem e configure as outras configurações do catálogo.

Opção 2: Usar SQL

Execute o seguinte comando no editor SQL em Development > Scripts:

-- Replace my-catalog with the name of your Paimon catalog.
-- Replace my_db with the name of the database that you want to use.
-- Replace my_tbl with the name of the Paimon catalog table that you created.
DROP TABLE `my-catalog`.`my_db`.`my_tbl`;

A tabela a seguir descreve os parâmetros.

  • Parâmetros gerais

    Item de configuração

    Descrição

    Obrigatório

    Observações

    my-catalog

    O nome do catálogo Paimon.

    Sim

    Insira um nome personalizado.

    type

    O tipo do catálogo.

    Sim

    Defina como paimon.

    metastore

    O tipo do metastore.

    Sim

    Valores válidos:

    • filesystem: Armazena metadados no OSS.

    • dlf: Armazena metadados no DLF.

  • Parâmetros do OSS

    Item de configuração

    Descrição

    Obrigatório

    Observações

    warehouse

    O diretório do data warehouse no OSS.

    Sim

    O formato é oss://<bucket>/<object>, onde:

    • bucket: o nome do seu bucket do OSS.

    • object: o caminho onde seus dados estão armazenados.

    Visualize os nomes do seu bucket e do objeto no console do OSS.

    fs.oss.endpoint

    O endpoint do service do OSS.

    Sim

    • Se o Flink e o DLF estiverem na mesma região, use o endpoint da VPC. Caso contrário, use o endpoint de rede pública.

    • Este parâmetro é obrigatório se o bucket do OSS especificado para o warehouse não estiver na mesma região do workspace do Flink, ou se você usar um bucket do OSS que pertence a outra conta da Alibaba Cloud.

    Regiões e endpoints e Criar um AccessKey.

    fs.oss.accessKeyId

    O AccessKey ID da conta da Alibaba Cloud ou do usuário do RAM que tem permissões de leitura e gravação no OSS.

    Sim

    fs.oss.accessKeySecret

    O AccessKey secret da conta da Alibaba Cloud ou do usuário do RAM que tem permissões de leitura e gravação no OSS.

    Sim

  • OSS-HDFS (VVR 11.8 ou posterior)

    Para usar o OSS-HDFS como armazenamento para o Catálogo Filesystem do Paimon, use o seguinte exemplo de SQL:

    -- Replace my-catalog with the name of your Paimon catalog.
    -- Replace my_db with the name of the database that you want to use.
    -- Replace my_tbl with the name of the Paimon catalog table that you created.
    DROP TABLE `my-catalog`.`my_db`.`my_tbl`;

    A tabela a seguir descreve os parâmetros.

    Parâmetro

    Descrição

    Obrigatório

    Observações

    warehouse

    O diretório do warehouse no OSS-HDFS.

    Sim

    Formato: dls://<bucket>.<dls-endpoint>/<warehouse-path>. O <dls-endpoint> é o mesmo que fs.oss.endpoint.

    fs.oss.endpoint

    O endpoint do service do OSS-HDFS.

    Sim

    No console do OSS, acesse a seção "Overview > Access Ports" do bucket de destino e verifique o HDFS Service Endpoint.

    fs.oss.accessKeyId

    O AccessKey ID da conta da Alibaba Cloud ou do usuário do RAM que tem permissões de leitura e gravação no OSS-HDFS.

    Sim

    —

    fs.oss.accessKeySecret

    O AccessKey Secret correspondente ao AccessKey ID.

    Sim

    —

    | fs.dls.client.mode.enabled | Especifica se deve ativar o DLS Client Mode. | Sim | Defina como false

    . |

    fs.dls.data.endpoint

    O endpoint de dados usado pelo DLS para acessar os dados subjacentes do OSS.

    Sim

    No console do OSS, acesse a seção "Overview > Access Ports" do bucket de destino e verifique o OSS internal Endpoint. Você também pode consultar a documentação "Regiões e endpoints".

  • -- Replace my-catalog with the name of your Paimon catalog.
    -- Replace my_db with the name of the database that you want to use.
    -- Replace my_tbl with the name of the Paimon catalog table that you created.
    DROP TABLE `my-catalog`.`my_db`.`my_tbl`;

Criar um catálogo DLF

DLF

  1. Crie um catálogo no console do DLF na mesma região do seu workspace do Flink. Usar o DLF rapidamente.

  2. Registre o catálogo Paimon no Development Console.

    Nota

    Esta operação mapeia seu catálogo DLF apenas como metadados. Criar ou excluir este catálogo no Realtime Compute for Apache Flink não afeta os dados subjacentes no DLF.

    1. Faça login no console do Realtime Compute.

    2. Na lista de workspaces totalmente gerenciados, clique no nome do seu workspace para abrir seu console.

    3. Você pode registrar o catálogo usando a UI ou executando comandos SQL.

      UI

      1. No painel de navegação à esquerda, clique em Catalogs.

      2. Na página Catalog List, clique em Create Catalog.

      3. Selecione Apache Paimon e clique em Next.

      4. Defina metastore como dlf. Para catalog name, selecione o catálogo DLF desejado. Clique em OK para criar o catálogo.

      Comandos SQL

      No editor Scripts, insira e execute a seguinte instrução SQL para criar o catálogo.

      -- Replace my-catalog with the name of your Paimon catalog.
      -- Replace my_db with the name of the database that you want to use.
      -- Replace my_tbl with the name of the Paimon catalog table that you created.
      DROP TABLE `my-catalog`.`my_db`.`my_tbl`;

      A tabela a seguir descreve os parâmetros.

      Parâmetro

      Descrição

      Obrigatório

      Exemplo

      type

      O tipo do catálogo. Este parâmetro é fixo como paimon.

      Sim

      paimon

      metastore

      O tipo do metastore. Este parâmetro é fixo como rest.

      Sim

      rest

      token.provider

      O provedor de token. Este parâmetro é fixo como dlf.

      Sim

      dlf

      uri

      O URI para acessar o DLF REST Catalog Server. O formato é http://[region-id]-vpc.dlf.aliyuncs.com. Para mais informações sobre os IDs de região, consulte Endpoints.

      Sim

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

      warehouse

      O nome do catálogo DLF subjacente a ser usado como warehouse.

      Sim

      dlf_test

DLF-Legacy

  1. Crie um catálogo no console do DLF na mesma região do seu workspace do Flink. Guia de introdução.

  2. Registre o catálogo Paimon no Development Console.

    Opção 1: Usar o console (Recomendado)

    1. Acesse a página Catalogs.

      1. Faça login no Management Portal e clique em Console na coluna Actions do workspace de destino.

      2. Clique em Catalogs.

    2. Clique em Create Catalog. Selecione Apache Paimon e clique em Next.

    3. Defina metastore como DLF e selecione o catálogo DLF V1.0 a ser associado na lista suspensa catalog name. Em seguida, configure as outras configurações do catálogo.

    Opção 2: Usar SQL

    Execute o seguinte comando no editor SQL em Development > Scripts:

    -- Replace my-catalog with the name of your Paimon catalog.
    -- Replace my_db with the name of the database that you want to use.
    -- Replace my_tbl with the name of the Paimon catalog table that you created.
    DROP TABLE `my-catalog`.`my_db`.`my_tbl`;

    Descrições dos parâmetros:

    • Geral

      Item de configuração

      Descrição

      Obrigatório

      Observações

      my-catalog

      O nome do catálogo Paimon.

      Sim

      Insira um nome personalizado.

      type

      O tipo do catálogo.

      Sim

      O valor é fixo como paimon.

      metastore

      O tipo do metastore.

      Sim

      O valor é fixo como dlf.

    • OSS

      Item de configuração

      Descrição

      Obrigatório

      Observações

      warehouse

      O diretório do data warehouse no OSS.

      Sim

      O formato é oss://<bucket>/<object>, onde:

      • bucket: o nome do seu bucket do OSS.

      • object: o caminho onde seus dados estão armazenados.

      Visualize os nomes do seu bucket e do objeto no console do OSS.

      fs.oss.endpoint

      O endpoint do service do OSS.

      Sim

      • Se o Flink e o DLF estiverem na mesma região, use o endpoint da VPC. Caso contrário, use o endpoint de rede pública.

      • Se você deseja armazenar tabelas Paimon no OSS-HDFS, defina o valor do parâmetro fs.oss.endpoint como cn-<region>.oss-dls.aliyuncs.com, por exemplo, cn-hangzhou.oss-dls.aliyuncs.com.

      fs.oss.accessKeyId

      O AccessKey ID da conta da Alibaba Cloud ou do usuário do RAM que tem permissões de leitura e gravação no OSS.

      Sim

      Para mais informações, consulte Regiões e endpoints e Criar um AccessKey.

      fs.oss.accessKeySecret

      O AccessKey secret da conta da Alibaba Cloud ou do usuário do RAM que tem permissões de leitura e gravação no OSS.

      Sim

    • DLF

      Item de configuração

      Descrição

      Obrigatório

      Observações

      dlf.catalog.id

      O ID do catálogo de dados do DLF.

      Sim

      Visualize o ID do catálogo de dados no console do Data Lake Formation.

      dlf.catalog.accessKeyId

      O AccessKey ID necessário para acessar o service do DLF.

      Sim

      Para mais informações, consulte Criar um AccessKey.

      dlf.catalog.accessKeySecret

      O AccessKey secret necessário para acessar o service do DLF.

      Sim

      Para mais informações, consulte Criar um AccessKey.

      dlf.catalog.endpoint

      O endpoint do service do DLF.

      Sim

      Regiões e endpoints.

      Nota

      Se o Flink e o DLF estiverem na mesma região, use o endpoint da VPC. Caso contrário, use o endpoint de rede pública.

      dlf.catalog.region

      A região onde o DLF está localizado.

      Sim

      Regiões e endpoints.

      Nota

      Certifique-se de que a região seja a mesma especificada para dlf.catalog.endpoint.

-- Replace my-catalog with the name of your Paimon catalog.
-- Replace my_db with the name of the database that you want to use.
-- Replace my_tbl with the name of the Paimon catalog table that you created.
DROP TABLE `my-catalog`.`my_db`.`my_tbl`;
Nota

Ao criar uma tabela Paimon no catálogo do MaxCompute, uma tabela externa Paimon é criada automaticamente no MaxCompute. Para consultar a tabela externa, execute as seguintes instruções SET antes do SELECT. Etapa 4: Ler dados da tabela externa Paimon usando o MaxCompute.

-- Replace my-catalog with the name of your Paimon catalog.
-- Replace my_db with the name of the database that you want to use.
-- Replace my_tbl with the name of the Paimon catalog table that you created.
DROP TABLE `my-catalog`.`my_db`.`my_tbl`;
  • Descrições dos parâmetros

    • Geral

      Item de configuração

      Descrição

      Obrigatório

      Observações

      my-catalog

      O nome do catálogo Paimon.

      Sim

      Insira um nome personalizado.

      type

      O tipo do catálogo.

      Sim

      O valor é fixo como paimon.

      metastore

      O tipo de metastore.

      Sim

      Valores válidos:

      • filesystem: Use este valor para configurar um catálogo Paimon Filesystem.

      • dlf: Use este valor para configurar um catálogo Paimon DLF.

      • maxcompute: Use este valor para configurar um catálogo Paimon MaxCompute.

      • sync: Use este valor para configurar um catálogo Paimon Sync.

    • OSS

      Item de configuração

      Descrição

      Obrigatório

      Observações

      warehouse

      O diretório do data warehouse no OSS.

      Sim

      O formato é oss://<bucket>/<object>, onde:

      • bucket: o nome do seu bucket do OSS.

      • object: o caminho onde seus dados estão armazenados.

      Visualize os nomes do seu bucket e objeto no console do OSS.

      fs.oss.endpoint

      O endpoint do service OSS.

      Sim

      • Se o Flink e o DLF estiverem na mesma região, use o endpoint de VPC. Caso contrário, use o endpoint de rede pública.

      • Este parâmetro é obrigatório se o bucket do OSS especificado para o warehouse não estiver na mesma região do workspace do Flink, ou se você usar um bucket do OSS que pertence a outra conta Alibaba Cloud.

      Regiões e Endpoints e Criar um AccessKey.

      fs.oss.accessKeyId

      O AccessKey ID da conta Alibaba Cloud ou do usuário RAM que tem permissões de leitura e gravação no OSS.

      Sim

      fs.oss.accessKeySecret

      O AccessKey secret da conta Alibaba Cloud ou do usuário RAM que tem permissões de leitura e gravação no OSS.

      Sim

    • MaxCompute

      Item de configuração

      Descrição

      Obrigatório

      Observações

      maxcompute.endpoint

      O endpoint do service MaxCompute.

      Sim

      Endpoint.

      maxcompute.project

      O nome do projeto MaxCompute a ser operado.

      Sim

      Projetos MaxCompute com operações de Schema habilitadas não são suportados atualmente.

      maxcompute.accessid

      O AccessKey da conta Alibaba Cloud que tem permissões no MaxCompute.

      Sim

      Criar um AccessKey.

      maxcompute.accesskey

      O AccessKey secret da conta Alibaba Cloud que tem permissões no MaxCompute.

      Sim

      Criar um AccessKey.

      maxcompute.oss.endpoint

      O endpoint para acessar o service OSS a partir do MaxCompute.

      Não

      Caso você não especifique este parâmetro, o valor do parâmetro fs.oss.endpoint será usado por padrão. Região e Endpoint.

      Nota

      Como o bucket do OSS e o projeto MaxCompute estão na mesma região, especifique um endpoint interno.

      maxcompute.life-cycle

      O ciclo de vida da tabela externa do MaxCompute.

      Não

      A unidade é em dias.

  • -- Replace my-catalog with the name of your Paimon catalog.
    -- Replace my_db with the name of the database that you want to use.
    -- Replace my_tbl with the name of the Paimon catalog table that you created.
    DROP TABLE `my-catalog`.`my_db`.`my_tbl`;

    Parâmetros de configuração:

    • Geral

      Item de configuração

      Descrição

      Obrigatório

      Observações

      my-catalog

      O nome do catálogo Paimon.

      Sim

      Insira um nome personalizado.

      type

      O tipo do catálogo.

      Sim

      O valor é fixo como paimon.

      metastore

      O tipo de metastore.

      Sim

      Valores válidos:

      • filesystem: Use este valor para configurar um catálogo Paimon Filesystem.

      • dlf: Use este valor para configurar um catálogo Paimon DLF.

      • maxcompute: Use este valor para configurar um catálogo Paimon MaxCompute.

      • sync: Use este valor para configurar um catálogo Paimon Sync.

    • Específico do Sync

      Item de configuração

      Descrição

      Obrigatório

      Observações

      source

      O source para sincronização de metadados.

      Sim

      Defina este parâmetro como dlf.

      target

      O destino para sincronização de metadados.

      Sim

      Defina este parâmetro como maxcompute.

    • OSS

      Item de configuração

      Descrição

      Obrigatório

      Observações

      warehouse

      O diretório do data warehouse no OSS.

      Sim

      O formato é oss://<bucket>/<object>, em que:

      • bucket: o nome do seu bucket do OSS.

      • object: o caminho onde seus dados estão armazenados.

      Visualize os nomes do seu bucket e do seu objeto no console do OSS.

      fs.oss.endpoint

      O endpoint do service do OSS.

      Sim

      • Se o Flink e o DLF estiverem na mesma região, use o endpoint de VPC. Caso contrário, use o endpoint de rede pública.

      • Este parâmetro é obrigatório se o bucket do OSS especificado para warehouse não estiver na mesma região do workspace do Flink, ou se você usar um bucket do OSS que pertença a outra conta do Alibaba Cloud.

      Regiões e Endpoints e Criar um AccessKey.

      fs.oss.accessKeyId

      O AccessKeyID da conta do Alibaba Cloud ou do usuário do RAM que tem permissões de leitura e gravação no OSS.

      Sim

      fs.oss.accessKeySecret

      O AccessKeySecret da conta do Alibaba Cloud ou do usuário do RAM que tem permissões de leitura e gravação no OSS.

      Sim

    • DLF

      Item de configuração

      Descrição

      Obrigatório

      Observações

      dlf.catalog.id

      O ID do catálogo de dados do DLF.

      Sim

      Visualize o ID do catálogo de dados no console do Data Lake Formation.

      dlf.catalog.accessKeyId

      O AccessKeyID necessário para acessar o service do DLF.

      Sim

      Para mais informações, consulte Criar um AccessKey.

      dlf.catalog.accessKeySecret

      O AccessKeySecret necessário para acessar o service do DLF.

      Sim

      Para mais informações, consulte Criar um AccessKey.

      dlf.catalog.endpoint

      O endpoint do service do DLF.

      Sim

      Regiões e endpoints.

      Nota

      Se o Flink e o DLF estiverem na mesma região, use o endpoint de VPC. Caso contrário, use o endpoint de rede pública.

      dlf.catalog.region

      A região onde o DLF está localizado.

      Sim

      Regiões e endpoints.

      Nota

      Certifique-se de que a região seja a mesma especificada para dlf.catalog.endpoint.

    • maxcompute

      Item de configuração

      Descrição

      Obrigatório

      Observações

      maxcompute.endpoint

      O endpoint do service do MaxCompute.

      Sim

      Endpoint.

      maxcompute.project

      O nome do projeto do MaxCompute a ser operado.

      Sim

      Atualmente, não há suporte para projetos do MaxCompute com Operações de Schema ativadas.

      maxcompute.accessid

      O AccessKey da conta do Alibaba Cloud que tem permissões no MaxCompute.

      Sim

      Criar um AccessKey.

      maxcompute.accesskey

      O AccessKeySecret da conta do Alibaba Cloud que tem permissões no MaxCompute.

      Sim

      Criar um AccessKey.

      maxcompute.oss.endpoint

      O endpoint para acessar o service do OSS a partir do MaxCompute.

      Não

      Se você não especificar este parâmetro, o valor do parâmetro fs.oss.endpoint será usado por padrão. Região e Endpoint.

      Nota

      Como o bucket do OSS e o projeto do MaxCompute estão na mesma região, especifique um endpoint interno.

      maxcompute.life-cycle

      O ciclo de vida da tabela externa do MaxCompute.

      Não

      A unidade é dias.

    Gerencie bancos de dados

    Execute os seguintes comandos no editor SQL em Development > Scripts.

    • Crie um banco de dados

      Um banco de dados default é criado automaticamente. Para criar mais bancos de dados:

      -- Replace my-catalog with the name of your Paimon catalog.
      -- Replace my_db with the name of the database that you want to use.
      -- Replace my_tbl with the name of the Paimon catalog table that you created.
      DROP TABLE `my-catalog`.`my_db`.`my_tbl`;
    • Exclua um banco de dados

      Importante

      O banco de dados default não pode ser excluído de um catálogo DLF. No entanto, você pode excluí-lo de um catálogo Filesystem.

      -- Replace my-catalog with the name of your Paimon catalog.
      -- Replace my_db with the name of the database that you want to use.
      -- Replace my_tbl with the name of the Paimon catalog table that you created.
      DROP TABLE `my-catalog`.`my_db`.`my_tbl`;

    Gerencie tabelas

    Crie uma tabela

    Nota

    Após registrar um catálogo Paimon, você pode referenciar suas tabelas diretamente nos seus jobs do Flink sem precisar criar definições DDL. Para referenciar uma tabela:

    • Use o nome totalmente qualificado: ${Paimon-catalog-name}.${Paimon-db-name}.${Paimon-table-name}

    • Ou defina o catálogo e o banco de dados atuais usando USE CATALOG ${Paimon-catalog-name} e USE ${Paimon-db-name}. Em seguida, referencie as tabelas usando apenas seus nomes: ${Paimon-table-name}

    • Crie uma tabela usando a instrução CREATE TABLE

      Execute o seguinte comando no editor SQL em Development > Scripts.

      O exemplo a seguir cria uma tabela particionada no banco de dados my_db do my-catalog.

      -- Replace my-catalog with the name of your Paimon catalog.
      -- Replace my_db with the name of the database that you want to use.
      -- Replace my_tbl with the name of the Paimon catalog table that you created.
      DROP TABLE `my-catalog`.`my_db`.`my_tbl`;

      Para mais informações, consulte Conector do Apache Paimon e Tabelas com chave primária e append-only.

    • Crie uma tabela usando a Ingestão de dados do Flink CDC

      Os jobs de ingestão de dados do Flink CDC sincronizam tanto os dados quanto as alterações de schema. Você pode usar a ingestão de dados do Flink CDC para replicar tabelas de fontes como MySQL e Kafka para um catálogo Paimon.

      Como a ingestão de dados do Flink CDC replica dados, é necessário fazer o deploy e start do job. Para mais informações, consulte Visão geral do desenvolvimento de jobs e Iniciar um job.

      Nota

      A ingestão de dados do Flink CDC permite definir propriedades físicas da tabela nos parâmetros. Quando a tabela de destino é criada, as propriedades correspondentes são aplicadas a ela. Ao iniciar o job, esses parâmetros são aplicados às tabelas de downstream sincronizadas. Para mais informações sobre as propriedades de tabela suportadas, consulte Ingestão de dados para o conector Paimon.

      • Replicar uma tabela específica

        Por exemplo, o job a seguir cria a tabela Paimon my_db com base no schema da tabela mysql.tpcds.web_sales e replica os dados. O job também define o número de buckets da tabela Paimon como 4 e usa o input changelog producer.

        -- Replace my-catalog with the name of your Paimon catalog.
        -- Replace my_db with the name of the database that you want to use.
        -- Replace my_tbl with the name of the Paimon catalog table that you created.
        DROP TABLE `my-catalog`.`my_db`.`my_tbl`;
      • Replicar um banco de dados inteiro

        Por exemplo, o job a seguir cria uma tabela Paimon para cada tabela no banco de dados my-catalog com base no schema dessa tabela, grava as tabelas em my_db e replica os dados. O job também define o input changelog producer para as tabelas Paimon.

        -- Replace my-catalog with the name of your Paimon catalog.
        -- Replace my_db with the name of the database that you want to use.
        -- Replace my_tbl with the name of the Paimon catalog table that you created.
        DROP TABLE `my-catalog`.`my_db`.`my_tbl`;
      • Replicar alterações de tipo de coluna

        As tabelas Paimon criadas por jobs de ingestão de dados do Flink CDC suportam não apenas colunas adicionadas, mas também alterações específicas de tipos de colunas. Escolha se deseja ativar a normalização de tipos conforme a necessidade.

        • Replicação de tipo padrão

          As colunas de uma tabela Paimon criada por um job de ingestão de dados do Flink CDC usam os mesmos tipos das colunas da tabela de origem. Há suporte para as seguintes alterações de tipo de coluna:

          • Tipos inteiros: TINYINT, SMALLINT, INT e BIGINT podem ser promovidos para um tipo inteiro de precisão igual ou superior. (TINYINT < SMALLINT < INT < BIGINT).

          • Tipos de ponto flutuante: FLOAT e DOUBLE podem ser promovidos para um tipo de ponto flutuante de precisão igual ou superior. (FLOAT < DOUBLE).

          • Tipos de string: CHAR, VARCHAR e STRING podem ser promovidos para um tipo de string de precisão igual ou superior.

        • Usar normalização de tipo em CTAS/CDAS

          Para permitir alterações de tipo mais flexíveis e evitar falhas de job devido a evoluções de schema compatíveis, defina 'enableTypeNormalization' = 'true' na cláusula WITH da sua instrução CTAS/CDAS. Nesse modo, o Flink normaliza os tipos de dados durante a evolução do schema. Um job só falhará se os tipos antigo e novo não puderem ser normalizados para o mesmo tipo subjacente. Regras:

          • TINYINT, SMALLINT, INT, BIGINT são normalizados para BIGINT.

          • FLOAT, DOUBLE são normalizados para DOUBLE.

          • CHAR, VARCHAR, STRING são normalizados para STRING.

          • Outros tipos de dados não são normalizados.

        • Impacto da normalização:

          Quando a normalização de tipo está ativa, os tipos de dados armazenados na tabela Paimon serão do tipo normalizado. Por exemplo, se as colunas de origem c1 (SMALLINT) e c2 (INT) forem normalizadas para BIGINT, tanto c1 quanto c2 serão armazenadas como BIGINT na tabela Paimon.

        • Exemplos:

          • Sucesso: se o SMALLINT na origem mudar para INT, ambos os tipos serão normalizados para BIGINT. Essa é uma alteração compatível e o job continua normalmente.

          • Falha: se o FLOAT na origem mudar para BIGINT, seus tipos normalizados (DOUBLE e BIGINT) serão incompatíveis, o que causará uma exceção.

    • Modifique o schema de uma tabela

      Execute os seguintes comandos no editor SQL em Development > Scripts.

      Operação

      Código de exemplo

      Adicionar ou modificar propriedades da tabela

      Altere o valor do parâmetro write-buffer-size da tabela para 256 MB e altere o valor do parâmetro write-buffer-spillable para true.

      ALTER TABLE my_table SET (
        'write-buffer-size' = '256 MB',
        'write-buffer-spillable' = 'true'
      );

      Modificar temporariamente as propriedades da tabela

      As propriedades da tabela modificadas temporariamente têm efeito apenas para o job SQL atual.

      • Ao gravar na tabela my_table, defina temporariamente o write-buffer-size como 256 MB e o write-buffer-spillable como true.

        INSERT INTO my_table /*+ OPTIONS('write-buffer-size' = '256 MB', 'write-buffer-spillable' = 'true') */
        SELECT ...;
      • Ao consumir dados da tabela my_table, defina temporariamente o scan.mode como latest e o scan.parallelism como 10.

        SELECT * FROM t /*+ OPTIONS('scan.mode' = 'latest', 'scan.parallelism' = '10') */;

      Renomear uma tabela

      Altere o nome da tabela de my_table para my_table_new.

      ALTER TABLE my_table RENAME TO my_table_new;
      Importante

      As operações de renomeação do OSS não são atômicas. Se você armazena arquivos de tabelas Paimon no OSS, use o OSS-HDFS para operações de arquivo atômicas.

      Adicionar uma nova coluna

      • Adicione a coluna c1 do tipo INT e a coluna c2 do tipo STRING ao final da tabela my_table.

        ALTER TABLE my_table ADD (c1 INT, c2 STRING);
      • Adicione a coluna c2 do tipo STRING após a coluna c1 na tabela my_table.

        ALTER TABLE my_table ADD c2 STRING AFTER c1;
      • Adicione a coluna c1 do tipo INT no início da tabela my_table.

        ALTER TABLE my_table ADD c1 INT FIRST;

      Renomear uma coluna

      Renomeie a coluna c0 para c1 em my_table.

      ALTER TABLE my_table RENAME c0 TO c1;

      Excluir uma coluna

      Exclua as colunas c1 e c2 de my_table.

      ALTER TABLE my_table DROP (c1, c2);

      Excluir uma partição

      Exclua as partições dt=20240108,hh=06 e dt=20240109,hh=07 de my_table.

      ALTER TABLE my_table DROP PARTITION (`dt` = '20240108', `hh` = '08'), PARTITION (`dt` = '20240109', `hh` = '07');

      Modificar o comentário de uma coluna

      Altere o comentário da coluna buy_count em my_table para this is buy count.

      ALTER TABLE my_table MODIFY buy_count BIGINT COMMENT 'this is buy count';

      Modificar a ordem das colunas

      • Mova a coluna col_a do tipo DOUBLE para o início de my_table.

        ALTER TABLE my_table MODIFY col_a DOUBLE FIRST;
      • Mova a coluna col_a do tipo DOUBLE para depois da coluna col_b em my_table.

        ALTER TABLE my_table MODIFY col_a DOUBLE AFTER col_b;

      Modificar o tipo de uma coluna

      Altere o tipo da coluna col_a em my_table para DOUBLE.

      ALTER TABLE my_table MODIFY col_a DOUBLE;

      Conversões de tipo de coluna suportadas (〇 = suportado, vazio = não suportado):

      image

      Exclua uma tabela

      Execute o seguinte comando no editor SQL em Development > Scripts.

      -- Replace my-catalog with the name of your Paimon catalog.
      -- Replace my_db with the name of the database that you want to use.
      -- Replace my_tbl with the name of the Paimon catalog table that you created.
      DROP TABLE `my-catalog`.`my_db`.`my_tbl`;

      Se o sistema retornar a mensagem The following statement has been executed successfully!, a tabela Paimon foi excluída.

      Visualize ou exclua um catálogo

      1. No Portal de Gerenciamento, clique em Console na coluna Actions do workspace de destino.

      2. Na página Catalogs, visualize ou exclua um catálogo Apache Paimon.

        • Na página Catalog List, visualize o nome e o tipo do catálogo. Para visualizar os bancos de dados e as tabelas em um catálogo, clique em View na coluna Actions.

        • Na página Catalog List, clique em Delete na coluna Actions do catálogo que deseja excluir.

          Nota

          Excluir um catálogo remove apenas seu registro no Flink. Os arquivos de dados subjacentes não são afetados. Registre o catálogo novamente para restaurar o acesso.

          Como alternativa, no editor SQL em Development > Scripts, insira DROP CATALOG &lt;catalog name&gt;;, selecione o código e clique em Run.

      Referências