Todos os produtos
Search
Central de documentação

AnalyticDB:Importar dados usando a descoberta de metadados

Última atualização: Jun 27, 2026

Quando serviços empresariais fazem upload de arquivos de dados — como logs e formulários padrão — para o Object Storage Service (OSS), esses arquivos geralmente não possuem gerenciamento de metadados, o que dificulta a análise. A descoberta de metadados resolve esse problema ao verificar automaticamente os caminhos do OSS, inferir esquemas de tabelas com base na estrutura e no conteúdo dos arquivos e criar tabelas consultáveis no AnalyticDB for MySQL, sem necessidade de DDL manual. Agende jobs recorrentes para manter os metadados sincronizados conforme os arquivos mudam.

Pré-requisitos

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

Requisitos de caminho do OSS

O caminho do OSS deve seguir um destes formatos:

  • <BucketName>/directory/.../directory/table/file

  • <BucketName>/directory/.../directory/table/partition/.../partition/file

As seguintes condições também devem ser atendidas:

  • O bucket do OSS tem pelo menos um nível de subdiretórios

  • Os arquivos da mesma tabela ou partição estão no mesmo formato

  • Os arquivos da mesma tabela ou partição têm os mesmos tipos e quantidade de campos

  • O caminho do OSS Directory Location termina com barra (/)

Limitações

Limitação

Detalhes

Jobs por cluster por caminho

Um job de descoberta de metadados por cluster por caminho do OSS

Modo de data warehouse

Apenas modo padrão. O modo livre não é compatível.

Formato de tabela Iceberg

Em preview público. Envie um ticket para ativá-lo.

Exclusão de colunas em tabelas mapeadas

Se você excluir uma coluna de uma tabela mapeada no AnalyticDB for MySQL, a coluna será readicionada após a próxima execução do job.

Exclusão de objetos

Apenas Ignore Deletion Updates é compatível: se um arquivo do OSS for excluído, a tabela mapeada continuará existindo após a próxima execução do job.

Como os caminhos do OSS são mapeados para tabelas

O resultado do mapeamento depende da estrutura de arquivos do OSS e do OSS Directory Location definido. O sistema mapeia o primeiro nível de diretório abaixo do OSS Directory Location para um nome de tabela e todos os níveis mais profundos para campos de partição.

Nomenclatura de campos de partição:

  • Se os nomes dos diretórios usarem o formato key=value (por exemplo, year=2022), as chaves se tornam os nomes dos campos de partição (year, month, day).

  • Caso os nomes dos diretórios sejam strings simples (por exemplo, year, month, day), os campos de partição serão nomeados como partition_0, partition_1 e assim por diante.

Regras de mapeamento:

  • O OSS Directory Location deve ter pelo menos mais um nível de diretório abaixo dele. Se o próximo nível contiver apenas arquivos, sem subdiretórios, o mapeamento falhará.

  • Arquivos na mesma tabela ou partição devem compartilhar o mesmo formato e estrutura de colunas. Formatos ou tipos de campo incompatíveis causam falha no mapeamento.

  • Os nomes dos diretórios de partição devem estar em conformidade com as convenções de nomenclatura de tabelas do AnalyticDB for MySQL.

Exemplos:

Caminho do OSS

OSS Directory Location

Resultado do mapeamento

oss://adb/Table1/file1.csv

oss://adb/Table1/file2.json

oss://adb/

Não é possível mapear. Os arquivos em Table1 têm formatos diferentes (CSV e JSON).

oss://adb/Table2/year/month/day/file3.json

oss://adb/Table2/year/month/day/file4.json

oss://adb/

Tabela particionada Table2 com campos de partição partition_0, partition_1 e partition_2.

Mesmos arquivos acima

oss://adb/Table2/

Tabela particionada year com campos de partição partition_0 e partition_1.

Mesmos arquivos acima

oss://adb/Table2/year/month/

Tabela não particionada day.

Mesmos arquivos acima

oss://adb/Table2/year/month/day/

Não é possível mapear. Não existem níveis de diretório após o OSS Directory Location especificado.

oss://adb/Table3/year=2022/month=03/day=01/file5.csv

oss://adb/Table3/year=2022/month=03/day=01/file6.csv

oss://adb/

Tabela particionada Table3 com campos de partição year, month e day.

Mesmos arquivos acima

oss://adb/Table3/ ou oss://adb/Table3/year=2022/

Não é possível mapear. year=2022 e month=03 não estão em conformidade com as convenções de nomenclatura de tabelas.

oss://adb/Table4/2020/03/30/file7.csv

oss://adb/Table3/2020/03/30/file8.csv

oss://adb/

Tabela particionada Table4 com campos de partição partition_0, partition_1 e partition_2.

Mesmos arquivos acima

oss://adb/Table3/ ou oss://adb/Table3/2020/

Não é possível mapear. 2020 e 03 não estão em conformidade com as convenções de nomenclatura de tabelas.

Criar um job de descoberta de metadados

  1. Faça login no console do AnalyticDB for MySQL. No canto superior esquerdo, selecione uma região. No painel de navegação à esquerda, clique em Clusters e, em seguida, clique no ID do cluster que deseja gerenciar.

  2. No painel de navegação à esquerda, escolha Data Ingestion > Metadata Discovery.

  3. Na página Metadata Discovery, na área OSS Data Source, clique em Start Wizard.

    Se o Start Wizard estiver esmaecido, crie uma conta privilegiada primeiro.
  4. Na aba OSS Data Source, configure os seguintes parâmetros.

    Datasource Config

    Parâmetro

    Descrição

    Data Warehouse Mode

    Defina como modo padrão. O modo livre não é compatível.

    OSS Directory Location

    Caminho do OSS a ser verificado. O caminho deve terminar com /. O sistema mapeia o primeiro nível de diretório abaixo deste caminho para um nome de tabela e todos os diretórios mais profundos para campos de partição. Para tabelas de data lake (Iceberg), defina este valor como o diretório pai do diretório da tabela. Por exemplo, se sua tabela Iceberg estiver em oss://adb/testdb/iceberg_table/, defina o local como oss://adb/testdb/.

    Path Filter Rule (opcional)

    Restrinja quais arquivos serão mapeados: selecione Include para mapear apenas arquivos em um caminho especificado ou Exclude para ignorar arquivos em um caminho especificado. Os arquivos sob um caminho incluído devem compartilhar o mesmo formato e estrutura de colunas.

    Format Resolver

    Selecione o resolvedor correspondente ao formato do seu arquivo. Para formatos comuns, selecione automatic para tentar cada resolvedor em sequência. Formatos compatíveis com arquivos comuns: csv, json, parquet, avro, orc e automatic. Formato compatível com tabelas de data lake: iceberg. Se o tipo de resolvedor não corresponder ao formato do arquivo, o mapeamento falhará.

    Configuration Item (opcional)

    Configurações avançadas de CSV: delimitador de coluna, identificador de referência, modo de cabeçalho da tabela e permissão de linhas de coluna única (true ou false). Para configurar o uso da primeira linha de um arquivo CSV como nomes de coluna, entre em contato com o suporte técnico.

    Scheduling Configuration

    Parâmetro

    Descrição

    Scheduling Frequency

    Frequência de execução do job para detectar alterações de esquema e novos dados. Quando os arquivos do OSS mudam, as tabelas mapeadas no AnalyticDB for MySQL são atualizadas de acordo com as regras de Destination Metadata Configuration.

    Destination Metadata Configuration

    Parâmetro

    Descrição

    Schema Name

    Nome do esquema, mapeado para um nome de banco de dados no AnalyticDB for MySQL. Deve ser único e não pode corresponder a um banco de dados existente ou ao nome de esquema de outro job de descoberta.

    File Field Change Rule (opcional)

    Controla como a tabela mapeada muda quando as colunas do arquivo do OSS são alteradas: Add Only Columns adiciona novas colunas à tabela mapeada quando um arquivo do OSS ganha uma coluna; Ignore Table Updates sincroniza apenas alterações de partição, sem adicionar ou remover colunas.

    Object Deletion Change Rule (opcional)

    Apenas Ignore Deletion Updates é compatível. Se um arquivo do OSS for excluído, a tabela mapeada continuará existindo após a próxima execução do job.

    Importante

    Execute operações DML diretamente nas tabelas mapeadas. Se você adicionar uma coluna a uma tabela mapeada no AnalyticDB for MySQL, a coluna será preservada após a próxima execução do job. Caso exclua uma coluna de uma tabela mapeada, ela será readicionada após a próxima execução do job.

  5. Clique em Create.

    Após a criação, o job é executado automaticamente no intervalo agendado. Para executá-lo imediatamente, localize-o na Job List e clique em Execute na coluna Actions.

Verificar o job

Após a execução do job, acesse a página Job List para verificar o status e modificar a configuração.

Quando o job for concluído com sucesso, acesse Job Development > SQL Development para visualizar os bancos de dados, tabelas e partições mapeados para o AnalyticDB for MySQL.