Todos os produtos
Search
Central de documentação

AnalyticDB:Sincronizar dados do SLS usando o APS (Recomendado)

Última atualização: Jun 27, 2026

AnalyticDB for MySQL oferece o AnalyticDB Pipeline Service (APS) para sincronização de dados em tempo real. Crie um job de sincronização para ingerir dados de um Logstore do AnalyticDB for MySQL em um cluster AnalyticDB for MySQL a partir de um offset específico. O APS oferece suporte a análises quase em tempo real, arquivamento completo de dados históricos e análise elástica.

Pré-requisitos

Observações de uso

  • Cada tabela em um cluster AnalyticDB for MySQL pode ser sincronizada com apenas um Logstore do SLS.

  • Após a ingestão, é necessário realizar um commit para tornar os dados visíveis. Para garantir a estabilidade do job e o desempenho ideal de leitura e escrita, o recurso de sincronização de dados do AnalyticDB for MySQL usa um intervalo de commit padrão de 5 minutos. Portanto, após criar e iniciar um job de sincronização de dados, aguarde pelo menos 5 minutos para visualizar o primeiro lote de dados.

Faturamento

A sincronização de dados por meio do AnalyticDB for MySQL gera as seguintes taxas:

Procedimento

Configure a autorização do Resource Access Management (RAM)

Para sincronizar dados do SLS para o AnalyticDB for MySQL entre contas Alibaba Cloud diferentes, crie uma função RAM na conta de origem, conceda as permissões necessárias e modifique a política de confiança. Se a sincronização ocorrer dentro da mesma conta, ignore esta etapa e prossiga para Criar uma fonte de dados.

  1. Crie uma função RAM. Para mais informações, consulte Criar uma função RAM para uma conta Alibaba Cloud confiável.

    Nota

    Ao configurar o parâmetro Select Trusted Alibaba Cloud Account, selecione Another Alibaba Cloud Account e insira o ID da conta Alibaba Cloud à qual o cluster AnalyticDB for MySQL pertence. Acesse o Account Center e visualize o Account ID na página Overview.

  2. Conceda a permissão AliyunAnalyticDBAccessingLogRolePolicy à função RAM. Para mais detalhes, consulte Conceder permissões a uma função RAM.

  3. Modifique a política de confiança da função RAM. Para obter instruções, consulte Modificar a política de confiança de uma função RAM.

    {
      "Statement": [
        {
          "Action": "sts:AssumeRole",
          "Effect": "Allow",
          "Principal": {
            "RAM": [
                "acs:ram::<Alibaba Cloud Account ID>:root"
            ],
            "Service": [
                "<Alibaba Cloud Account ID>@ads.aliyuncs.com"
            ]
          }
        }
      ],
      "Version": "1"
    }
    Nota

    O ID da Conta Alibaba Cloud corresponde ao valor inserido na Etapa 1. Não inclua os sinais de maior e menor que (<>) ao configurar o parâmetro.

Criar uma fonte de dados

Nota

Se você já tiver uma fonte de dados configurada, ignore esta etapa e prossiga para Criar um job de sincronização.

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

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

  3. No canto superior esquerdo, clique em Create Data Source.

  4. Na página Create Data Source, configure os seguintes parâmetros.

    Parâmetro

    Descrição

    Data Source Type

    Selecione SLS.

    Data Source Name

    Gerado automaticamente com base no tipo de fonte de dados e na hora atual. Altere o nome conforme necessário.

    Data Source Description

    Descrição da fonte de dados, como cenário de aplicação e restrições de negócio.

    Deployment Mode

    Somente Alibaba Cloud Instance tem suporte.

    Region of Simple Log Service Project

    Região onde o projeto SLS está localizado.

    Across Alibaba Cloud Accounts

    Define se os dados serão sincronizados a partir de uma fonte SLS em outra conta Alibaba Cloud.

    • Mesma conta: Sincroniza dados do SLS da conta atual para o AnalyticDB for MySQL.

    • Contas cruzadas: Sincroniza dados do SLS de uma conta diferente para o AnalyticDB for MySQL. Ao optar pela sincronização entre contas, informe a Alibaba Cloud Account e a RAM Role.

      Nota
      • Alibaba Cloud Account: ID da conta Alibaba Cloud proprietária dos dados de origem.

      • RAM Role: Nome da função RAM criada na conta de origem. Refere-se à função configurada na Etapa 1 da seção "Configure a autorização do RAM".

    Simple Log Service Project

    Projeto SLS de origem.

    Importante

    A lista de Projetos SLS exibe todos os projetos pertencentes à conta Alibaba Cloud e seus usuários RAM. Se você selecionar um projeto da conta principal, certifique-se de que o usuário RAM tenha permissões adequadas. Caso contrário, a sincronização de dados para o AnalyticDB for MySQL falhará.

    Simple Log Service Logstore

    Logstore SLS de origem.

  5. Após configurar os parâmetros, clique em Create.

Criar um job de sincronização

  1. No painel de navegação à esquerda, clique em Simple Log Service/Kafka Data Synchronization.

  2. No canto superior esquerdo, clique em Create Synchronization Job.

  3. Na página Create Synchronization Job, configure os parâmetros nas etapas Source and Destination Settings, Destination Database and Table Settings e Synchronization Settings.

    • A tabela abaixo detalha os parâmetros de Source and Destination.

      Parâmetro

      Descrição

      Job Name

      Nome do job de sincronização. Gerado automaticamente com base no tipo de fonte de dados e na hora atual. Pode ser alterado conforme necessário.

      Data Source

      Selecione uma fonte de dados SLS existente ou crie uma nova.

      Destination Type

      Opções com suporte:

      • Data Lake - User OSS.

      • Data Lake - AnalyticDB Lake Storage (recomendado).

        Importante

        Se você selecionar Data Lake - AnalyticDB Lake Storage, será necessário primeiro ativar o lake storage.

      ADB Lake Storage

      Nome do lake storage onde residem os dados do AnalyticDB for MySQL.

      Escolha o lake storage de destino na lista suspensa. Se não houver nenhum disponível, clique em Automatically Created na lista para criar um automaticamente.

      Importante

      Este parâmetro é obrigatório apenas quando o Destination Type estiver definido como Data Lake - AnalyticDB Lake Storage.

      OSS Path

      Caminho de armazenamento no OSS para os dados do lakehouse do AnalyticDB for MySQL.

      Importante
      • Parâmetro exigido somente quando o Destination Type for Data Lake - User OSS.

      • A lista suspensa mostra todos os buckets na mesma região do cluster AnalyticDB for MySQL. Você pode selecionar qualquer um deles. Planeje o caminho de armazenamento com cuidado, pois não será possível alterá-lo após a criação do job.

      • Recomenda-se escolher um diretório vazio. O caminho do OSS não pode ser prefixo do caminho de outro job de sincronização, nem vice-versa, para evitar sobreposição de dados. Por exemplo, se dois jobs tiverem os caminhos oss://testBucketName/test/sls1/ e oss://testBucketName/test/, haverá relação de prefixo e risco de sobrescrita durante a sincronização.

      Storage Format

      Formato de armazenamento dos dados. Opções disponíveis:

      • PAIMON.

        Importante

        Tem suporte apenas quando o Destination Type estiver definido como Data Lake - User OSS.

      • ICEBERG.

    • A tabela a seguir descreve os parâmetros de Destination Database and Table Settings.

      Parâmetro

      Descrição

      Database Name

      Nome do banco de dados de destino no AnalyticDB for MySQL. Se não existir um banco com o nome especificado, um novo será criado. Caso já exista, os dados serão sincronizados para ele. Para convenções de nomenclatura, consulte Limites.

      Importante

      Na seção Source and Destination Settings, se o Storage Format estiver definido como PAIMON, um banco de dados existente deve atender às condições abaixo. Caso contrário, o job de sincronização falhará:

      • O banco deve ser externo. A instrução CREATE DATABASE deve ser CREATE EXTERNAL DATABASE <database_name>.

      • A cláusula DBPROPERTIES na instrução CREATE DATABASE deve incluir a propriedade catalog, e seu valor deve ser paimon.

      • A cláusula DBPROPERTIES deve conter a propriedade adb.paimon.warehouse. Exemplo: adb.paimon.warehouse=oss://testBucketName/aps/data.

      • A cláusula DBPROPERTIES deve incluir a propriedade LOCATION, sendo necessário adicionar .db ao nome do banco no caminho. Do contrário, consultas XIHE falharão. Exemplo: LOCATION='oss://testBucketName/aps/data/kafka_paimon_external_db.db/'.

        Para o caminho do OSS especificado em LOCATION, o bucket e o diretório devem existir previamente. Caso contrário, a criação do banco de dados falhará.

      Table Name

      Nome da tabela de destino no AnalyticDB for MySQL. Se a tabela não existir no banco de dados, ela será criada. Se já existir uma tabela com esse nome, a sincronização de dados falhará. Para regras de nomenclatura, consulte Limites.

      Schema Field Mapping

      Por padrão, os campos são obtidos da configuração do job de envio (shipping) do SLS. Se não houver job de envio configurado para o Logstore, os campos serão extraídos dos dados de log mais recentes.

      • Tipos de dados com suporte: BOOLEAN, INT, BIGINT, FLOAT, DOUBLE e STRING.

      • Campos reservados do SLS também podem ser sincronizados. Para mais informações, consulte Campos reservados.

      Importante
      • Não é permitido modificar os nomes dos campos de destino.

      • Se o job já foi executado (incluindo execuções em andamento ou concluídas), não é possível alterar colunas existentes, mas novas colunas podem ser adicionadas. Jobs criados mas ainda não iniciados podem ser modificados livremente.

      Partition Key Settings

      Defina uma chave de partição para a tabela de destino. Recomenda-se particionar por tempo de log ou lógica de negócio para melhorar o desempenho de ingestão e consulta. Sem essa configuração, a tabela de destino não será particionada por padrão.

      É possível formatar a chave de partição de destino por tempo ou por um campo de partição específico.

      • Para particionar por data e hora, selecione um campo de data/hora como chave de partição. Como método de formatação, escolha formatação de tempo e especifique o formato do campo de origem e o formato da partição de destino. O AnalyticDB for MySQL usa o formato de origem para identificar o valor do campo e convertê-lo para o formato da partição de destino. Por exemplo, se o campo de origem for gmt_created com valor 1711358834, o formato de origem for timestamp com precisão de segundos e o formato da partição de destino for yyyyMMdd, os dados serão particionados como 20240325.

      • Para particionar pelo valor do campo, selecione "Specify partition field" como método de formatação.

    • A tabela abaixo apresenta os parâmetros de Synchronization Settings.

      Parâmetro

      Descrição

      Starting Consumer Offset for Incremental Synchronization

      Offset a partir do qual o job começa a consumir dados do SLS. Opções:

      • Earliest offset (begin_cursor): Consome dados desde o offset mais antigo disponível no Logstore.

      • Latest offset (end_cursor): Inicia o consumo a partir do offset mais recente no Logstore.

      • Custom: Permite selecionar qualquer ponto no tempo. O sistema começará a consumir dados a partir do primeiro registro no SLS que esteja nesse momento ou posteriormente.

      Job Resource Group

      Grupo de recursos responsável por executar o job de sincronização.

      ACUs for Incremental Synchronization

      Especifique a quantidade de AnalyticDB Compute Units (ACUs) no Grupo de Recursos do Job. O valor mínimo é 2 e o máximo corresponde aos recursos computacionais disponíveis no grupo. Alocar mais ACUs é recomendado para melhorar o desempenho de ingestão e a estabilidade do job.

      Nota

      Ao criar um job de sincronização de dados, ele utiliza recursos elásticos do Grupo de Recursos do Job. Como esses jobs ocupam recursos por longos períodos, o sistema deduz o consumo do total disponível no grupo. Por exemplo, se um grupo possui 48 ACUs e um job existente usa 8 ACUs, restarão no máximo 40 ACUs para outros jobs no mesmo grupo.

      Advanced Settings

      Configurações avançadas para personalizar o job de sincronização. Entre em contato com o suporte técnico caso precise realizar ajustes personalizados.

  4. Após configurar os parâmetros, clique em Submit.

Iniciar a tarefa de sincronização de dados

  1. Na página Simple Log Service/Kafka Data Synchronization, selecione a tarefa de sincronização desejada e clique em Start na coluna Actions.

  2. Clique em Search no canto superior esquerdo. A tarefa terá sido iniciada com sucesso quando seu status mudar para Running.

Análise de dados

Após a conclusão bem-sucedida da sincronização, utilize o desenvolvimento Spark Jar para analisar os dados no AnalyticDB for MySQL. Para saber mais sobre desenvolvimento Spark, consulte Editor de desenvolvimento Spark e Desenvolvimento de aplicações Spark offline.

  1. No painel de navegação à esquerda, clique em Job Development > Spark JAR Development.

  2. No modelo padrão, insira as instruções de exemplo e clique em Run Now.

    -- Here is just an example of SparkSQL. Modify the content and run your spark program.
    
    conf spark.driver.resourceSpec=medium;
    conf spark.executor.instances=2;
    conf spark.executor.resourceSpec=medium;
    conf spark.app.name=Spark SQL Test;
    conf spark.adb.connectors=oss;
    
    -- Here are your sql statements
    show tables from lakehouse20220413156_adbTest;
  3. Opcional: Na aba Applications, clique em Logs na coluna Actions para visualizar o log de execução do job Spark SQL.

Gerencie fontes de dados

No painel de navegação à esquerda, clique em Data Ingestion>Data Sources. As seguintes ações estão disponíveis na coluna Actions.

Ações

Descrição

Create Job

Cria um job de sincronização ou migração de dados para a fonte selecionada.

View

Exibe a configuração detalhada da fonte de dados.

Edit

Permite editar propriedades da fonte de dados, como nome e descrição.

Delete

Exclui a fonte de dados.

Nota

Não é possível excluir uma fonte de dados associada a um job de sincronização ou migração. Primeiro, exclua o job na página Simple Log Service/Kafka Data Synchronization. Para isso, localize o job alvo e, na coluna Actions, clique em Delete.