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:
Um cluster do AnalyticDB for MySQL Enterprise Edition, Basic Edition ou Data Lakehouse Edition
-
Uma conta de banco de dados para o cluster:
Conta Alibaba Cloud: uma conta privilegiada
Usuário do Resource Access Management (RAM): uma conta privilegiada e uma conta padrão, com a conta padrão associada ao usuário RAM
Um bucket do OSS na mesma região do cluster, com arquivos de dados carregados
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 comopartition_0,partition_1e 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 |
|
|
|
Não é possível mapear. Os arquivos em |
|
|
|
Tabela particionada |
|
Mesmos arquivos acima |
|
Tabela particionada |
|
Mesmos arquivos acima |
|
Tabela não particionada |
|
Mesmos arquivos acima |
|
Não é possível mapear. Não existem níveis de diretório após o OSS Directory Location especificado. |
|
|
|
Tabela particionada |
|
Mesmos arquivos acima |
|
Não é possível mapear. |
|
|
|
Tabela particionada |
|
Mesmos arquivos acima |
|
Não é possível mapear. |
Criar um job de descoberta de metadados
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.
No painel de navegação à esquerda, escolha Data Ingestion > Metadata Discovery.
-
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.
-
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 emoss://adb/testdb/iceberg_table/, defina o local comooss://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,orceautomatic. 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 (
trueoufalse). 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.
ImportanteExecute 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.
-
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.