Todos os produtos
Search
Central de documentação

Data Lake Formation:Paimon tables

Última atualização: Sep 18, 2026

O Data Lake Formation (DLF) oferece suporte ao Paimon, um formato lakehouse que unifica o armazenamento em tempo real e em batch. Este tópico aborda três operações para tabelas Paimon no DLF: criação, visualização e exclusão.

Tipos de tabela

O DLF oferece suporte a dois tipos de tabela Paimon. Escolha com base em se seus dados possuem chave primária e se você precisa de atualizações de stream por linha.

Tipo de tabela

Chave primária

Mais indicado para

Primary key table

Obrigatória

Processamento de stream, inserções, atualizações e exclusões em tempo real; consultas OLAP filtradas por chave primária

Append-only table

Nenhuma

Processamento em batch, gravações em stream sem atualizações por linha; OLAP com índices de ordenação e bitmap

Tabelas Paimon totalmente gerenciadas

Todas as tabelas Paimon criadas no DLF são totalmente gerenciadas. O DLF controla todos os metadados e os arquivos de dados subjacentes. Ao excluir uma tabela, ambos são removidos.

Recurso

O que faz

Gerenciado automaticamente?

Compaction

Mescla arquivos pequenos; opera de forma independente das gravações de dados para garantir estabilidade

Sim

Concurrent writes

Vários jobs de gravação podem gravar na mesma partição simultaneamente

Sim

Partition-level metrics

Rastreia contagem de linhas, contagem de arquivos e tamanho de arquivo por partição em tempo real

Sim

Multi-version (time travel)

Registra o histórico da tabela; oferece suporte a inserção, atualização e exclusão refinadas

Sim

O DLF armazena os dados em um caminho gerado automaticamente a partir de um identificador universalmente único (UUID). Nenhuma configuração manual de caminho é necessária.

Nota

As tabelas Paimon criadas no DLF utilizam o modo somente gravação por padrão. As operações em segundo plano — compaction, limpeza de snapshots e limpeza de partições — são gerenciadas automaticamente pelo DLF.

Pré-requisitos

Antes de começar, verifique se você possui:

Criar uma tabela Paimon

Criar pelo console

  1. Acesse o console do Data Lake Formation.

  2. Na página de listagem do Data Catalog, clique em um nome de catalog.

  3. Na lista Database, clique em um nome de banco de dados para abrir a lista de tabelas.

  4. Na table list, clique em Create Table.

  5. Configure as definições a seguir e clique em OK.

    Item de configuração

    Descrição

    Table Format

    Selecione Paimon Table.

    Data Table Name

    Obrigatório. Deve ser único dentro do banco de dados.

    Data Table Description

    Opcional.

    Columns

    Defina cada coluna: nome, flag de chave primária, flag not null, flag de campo de partição, tipo de dado, comprimento/tipo e descrição.

    Custom Table Properties

    Adicione propriedades que substituem os parâmetros padrão do meta service do DLF durante a criação da tabela. Para as opções disponíveis, consulte a documentação oficial do Paimon. Formatos de arquivo suportados: PARQUET, AVRO, ORC, CSV, TEXT, JSON, LANCE e BLOB. Exemplo: file.format = LANCE.

Criar via SQL

Se você associou um catalog no Flink, EMR (E-MapReduce) ou outra plataforma, crie as tabelas diretamente nessas plataformas — os metadados são gravados diretamente no DLF. Para mais detalhes, consulte Engine integration.

Primary key tables

Uma primary key table utiliza uma chave primária como identificador exclusivo de linha. Ela oferece suporte a inserções, atualizações e exclusões em tempo real, além de gerar automaticamente change logs para consumidores de stream downstream. Use este tipo de tabela para processamento de dados em stream e consultas de processamento analítico online (OLAP) filtradas por chave primária.

Flink SQL

CREATE TABLE orders (
  order_id BIGINT,
  price    BIGINT,
  customer STRING,
  PRIMARY KEY NOT ENFORCED(order_id)
);

Spark SQL

CREATE TABLE orders (
  order_id BIGINT,
  price    BIGINT,
  customer STRING
) TBLPROPERTIES (
  'primary-key' = 'order_id'
);

Alocação de buckets (modo Postpone Bucket)

O DLF usa o modo Postpone Bucket por padrão. Essa estratégia adaptativa ajusta dinamicamente a contagem de buckets com base no volume de dados da partição, evitando degradação de desempenho de leitura causada por buckets em excesso e gargalos de gravação causados por buckets insuficientes.

Visibilidade dos dados no modo Postpone: os dados recém-gravados não ficam visíveis até que a compaction seja concluída. Para eliminar essa latência:

  • Use Flink (VVR 11.4 ou posterior) ou Spark (esr-4,5 ou posterior). Essas versões gravam batches diretamente nos buckets, eliminando a latência.

  • Para tabelas sensíveis à latência, defina explicitamente a contagem de buckets. Exemplo: 'bucket' = '5'. Recomenda-se um bucket por 1 GB de dados por partição.

Bucketing dinâmico e dimensionamento automático

O sistema ajusta a alocação de buckets com base em seis fatores:

Fator

Como influencia a contagem de buckets

Armazenamento total da partição

Tamanho total de arquivo maior → mais buckets

Escala de registros de dados

Mais linhas (quando deletion vectors estão ativados) → mais buckets

Carga de tráfego de gravação

Maior throughput de gravação → mais buckets para evitar gargalos

Distorção na distribuição dos dados

Distorção detectada → mais buckets para distribuição uniforme

Tamanho médio de linha

Tamanho médio de linha muito pequeno → mais buckets para otimizar a estrutura de arquivos

Referência de partição histórica

Algoritmo heurístico usa a configuração de buckets de partições anteriores como baseline

Configuração avançada

Configure as seguintes opções do Paimon para ajuste adicional em primary key tables:

  • merge engine: Defina lógica de merge personalizada para cálculos complexos durante a compaction.

  • Deletion Vectors (deletion-vectors.enabled = true): Melhora significativamente o desempenho de consultas. Após ativar, todos os dados recém-gravados ficam visíveis apenas após a compaction, independentemente do modo de bucket. Esse recurso exige mais recursos de compaction, mas oferece desempenho de consulta mais estável.

  • changelog-producer (changelog-producer = 'lookup'): Gera change logs completos para leituras de stream downstream.

  • sequence.field: Trata dados fora de ordem e garante a sequência correta de atualização.

Se os dados de origem forem dados de Change Data Capture (CDC), utilize o Flink CDC ou um product de integração de dados para carregar os dados no DLF. Essas ferramentas oferecem suporte a sincronização completa de banco de dados, criação automática de tabelas e sincronização de schema.

Nota

Para consultas OLAP de alto desempenho, ative o modo deletion vectors. Embora consuma mais recursos de compaction, ele proporciona consultas OLAP mais estáveis e com melhor desempenho.

Append-only tables

Uma append-only table não possui chave primária. Ela não oferece suporte a atualizações de stream por linha, mas seu desempenho em processamento em batch é significativamente superior ao das primary key tables. Utilize-a para a maioria das cargas de trabalho em batch ou em cenários de stream onde atualizações por linha não são necessárias.

As append-only tables oferecem suporte a:

  • Gravações e leituras em stream, com o DLF mesclando automaticamente arquivos pequenos em segundo plano

  • Operações refinadas de DELETE, UPDATE e MERGE INTO

  • Gerenciamento de versões e time travel

  • Consultas aceleradas por índices de ordenação e bitmap, com excelente desempenho de leitura direta para engines OLAP

Flink SQL

CREATE TABLE orders (
  order_id BIGINT,
  price    BIGINT,
  customer STRING
);

Spark SQL

CREATE TABLE orders (
  order_id BIGINT,
  price    BIGINT,
  customer STRING
);

Visualizar uma tabela de dados

  1. Na lista Database, clique em um nome de banco de dados para abrir a lista de tabelas.

  2. Na table list, clique em um nome de tabela para visualizar seus campos.

  3. Clique na aba Table Details para consultar as informações básicas da tabela, a lista de campos e a lista de partições.

    Nota

    Na aba Table Details, é possível modifique manualmente a classe de armazenamento tanto para tabelas particionadas quanto para tabelas não particionadas. Para mais detalhes, consulte Manually change the storage class.

  4. Clique na aba Permissions para conceder permissões no nível de tabela a usuários ou funções. Para mais detalhes, consulte Data authorization management.

Excluir uma tabela de dados

Aviso

Excluir uma tabela remove tanto seus metadados quanto seus dados. Os dados são retidos por um dia como salvaguarda contra exclusão acidental. Após esse período, são excluídos permanentemente.

  1. Na lista Database, clique em um nome de banco de dados para abrir a lista de tabelas.

  2. Na table list, clique em Delete na coluna Actions.

  3. Na caixa de diálogo, clique em OK.

As tabelas de dados excluídas podem ser restauradas durante o período de retenção de metadados. Para mais informações, consulte Recycle bin.