Todos os produtos
Search
Central de documentação

:Gerencie tarefas de ETL

Última atualização: Jul 04, 2026

Crie e execute tarefas de extração, transformação e carga (ETL) para limpar, transformar e descarregar dados em instâncias do ApsaraMQ for Kafka. Este tópico descreve como criar uma tarefa de ETL no console do ApsaraMQ for Kafka para entregar dados processados de um tópico de origem a um tópico de destino.

Pré-requisitos

Antes de executar uma tarefa de ETL, certifique-se de realizar as seguintes operações:

  • Crie um tópico de origem e um tópico de destino nas instâncias do ApsaraMQ for Kafka. Para mais informações, consulte Etapa 1: Criar um tópico.

    Nota

    Para criar manualmente tópicos auxiliares necessários à tarefa de ETL, crie também os tópicos destinados a armazenar as informações dessa tarefa. Para obter detalhes sobre os parâmetros de criação de tópicos, consulte a Etapa 3 na seção "Criar uma tarefa de ETL" deste tópico.

  • Ative o Function Compute. Para mais informações, consulte Ativar o Function Compute.

  • Obtenha as permissões necessárias caso seja um usuário do Resource Access Management (RAM). Para mais informações, consulte Conceder permissões a usuários RAM.

    O código a seguir apresenta um exemplo da política que especifica as permissões:

    {
        "Version": "1",
        "Statement": [
            {
                "Action": [
                    "kafka:CreateETLTask",
                    "kafka:ListETLTask",
                    "kafka:DeleteETLTask"
                ],
                "Resource": "*",
                "Effect": "Allow"
            }
        ]
    }

Informações de fundo

  • ETL é o processo de extrair, transformar e carregar dados em um destino. Escreva uma função para implementar a lógica da tarefa de ETL. O ApsaraMQ for Kafka chama essa função para processar os dados no tópico de origem e enviá-los ao tópico de destino.

  • Durante o processamento de dados, o Function Compute cria automaticamente o serviço e a função correspondentes. O nome do serviço criado segue o formato _FC-kafka-nome da tarefa ETL.

  • Os tópicos de origem e de destino nas instâncias do ApsaraMQ for Kafka devem residir na mesma região.

  • O Function Compute permite consultar os logs de chamadas de função para solucionar problemas. Para mais informações, consulte Configurar o recurso de log.

  • O recurso de tarefas de ETL do ApsaraMQ for Kafka está em visualização pública e é independente das instâncias do ApsaraMQ for Kafka. Não há cobrança pelo uso desse recurso. Caso a tarefa de ETL dependa de outros serviços, consulte as regras de faturamento correspondentes.

Ative ETL

Importante

As tarefas de ETL são criadas no módulo Connector Ecosystem Integration do console do ApsaraMQ for Kafka. Esse módulo oferece recursos de filtragem e transformação de dados. Para mais informações, consulte Visão geral.

Ao utilizar o recurso de tarefas de ETL pela primeira vez, autorize o ApsaraMQ for Kafka a acessar os serviços relacionados. Após a confirmação, o sistema cria automaticamente a função vinculada ao serviço AliyunServiceRoleForAlikafkaETL. O ApsaraMQ for Kafka assume essa função para acessar os serviços utilizados durante o processamento da tarefa de ETL. Para mais informações, consulte Funções vinculadas a serviços.

  1. Faça login no console do ApsaraMQ for Kafka. Na página Overview, selecione uma região na seção Resource Distribution.

  2. No painel de navegação à esquerda, escolha Ecosystem Integration > ETL Tasks.

  3. Na página ETL Tasks, clique em Create Task.

  4. Na mensagem Service Authorization exibida, clique em OK.

Crie uma tarefa de ETL

Esta seção descreve como criar e implantar uma tarefa de ETL para extrair dados de um tópico de origem, processá-los e carregá-los em um tópico de destino.

  1. Na página ETL Tasks, clique em Create Task.

  2. Na etapa Configure Basic Information, insira um nome para a tarefa e clique em Next.

  3. Na etapa Configure Source and Destination, especifique a origem dos dados, o tópico de destino e as informações de consumo. Em seguida, clique em Next.

    Parâmetro

    Descrição

    Exemplo

    Instance

    Instâncias às quais pertencem o tópico de origem e o tópico de destino.

    • alikafka_pre-cn-7pp2bz47****

    • alikafka_post-cn-2r42bvbm****

    Topic

    Tópico de origem e tópico de destino.

    Nota

    Os tópicos de origem e de destino devem ser diferentes.

    • topic****

    • test****

    Consumer Offset

    Offset a partir do qual as mensagens serão consumidas. Este parâmetro aparece somente após clicar em Advanced Settings. Valores válidos:

    • Earliest Offset: Consome mensagens a partir do offset mais antigo.

    • Latest Offset: Consome mensagens a partir do offset mais recente.

    Latest Offset

    Failure Handling Policy

    Define se as mensagens subsequentes devem ser enviadas caso uma mensagem falhe ao ser enviada. Este parâmetro aparece somente após clicar em Advanced Settings. Valores válidos:

    • Continue Subscription: Envia as mensagens subsequentes mesmo se uma mensagem falhar.

    • Stop Subscription: Interrompe o envio de mensagens subsequentes se uma mensagem falhar.

    Continue Subscription

    Resource Creation Method

    Método utilizado para criar tópicos auxiliares necessários à tarefa de ETL. Este parâmetro aparece somente após clicar em Advanced Settings. Valores válidos:

    • Auto

    • Manual

    Auto

    Consumer Group

    Grupo de consumidores utilizado pela tarefa de ETL. Este parâmetro é exibido apenas se o parâmetro Resource Creation Method estiver definido como Manual. Recomendamos usar etl-cluster como prefixo do nome do grupo de consumidores.

    etl-cluster-kafka

    Task Offset Topic

    Tópico usado para armazenar offsets de consumo. Este parâmetro é exibido apenas se o parâmetro Manual estiver definido como Resource Creation Method.

    • Topic: nome do tópico. Recomendamos usar etl-offset como prefixo do nome do tópico.

    • Partitions: número de partições no tópico. Deve ser maior que 1.

    • Storage Engine: mecanismo de armazenamento usado pelo tópico. Defina como Local Storage.

      Nota

      O parâmetro Storage Engine só pode ser definido como Local Storage se o tópico for criado em uma instância Professional Edition.

    • cleanup.policy: política de limpeza de logs usada pelo tópico. Defina como Compact.

    etl-offset-kafka

    Task Configuration Topic

    Tópico usado para armazenar configurações da tarefa. Este parâmetro é exibido apenas se o parâmetro Manual estiver definido como Resource Creation Method.

    • Topic: nome do tópico. Recomendamos usar etl-config como prefixo do nome do tópico.

    • Partitions: número de partições no tópico. Defina como 1.

    • Storage Engine: mecanismo de armazenamento usado pelo tópico. Defina como Local Storage.

      Nota

      O parâmetro Storage Engine só pode ser definido como Local Storage se o tópico for criado em uma instância Professional Edition.

    • cleanup.policy: política de limpeza de logs usada pelo tópico. Defina como Compact.

    etl-config-kafka

    Task Status Topic

    Tópico usado para armazenar o status da tarefa. Este parâmetro é exibido apenas se o parâmetro Manual estiver definido como Resource Creation Method.

    • Topic: nome do tópico. Recomendamos usar etl-status como prefixo do nome do tópico.

    • Partitions: número de partições no tópico. Recomendamos definir este parâmetro como 6.

    • Storage Engine: mecanismo de armazenamento usado pelo tópico. Defina como Local Storage.

      Nota

      O parâmetro Storage Engine só pode ser definido como Local Storage se o tópico for criado em uma instância Professional Edition.

    • cleanup.policy: política de limpeza de logs usada pelo tópico. Defina como Compact.

    etl-status-kafka

    Dead-letter Queue Topic

    Tópico usado para armazenar dados de erro do framework ETL. Este parâmetro é exibido apenas se o parâmetro Manual estiver definido como Resource Creation Method. Para economizar recursos, este tópico pode ser o mesmo que o Error Data Topic.

    • Topic: nome do tópico. Recomendamos usar etl-error como prefixo do nome do tópico.

    • Partitions: número de partições no tópico. Recomendamos definir este parâmetro como 6.

    • Storage Engine: mecanismo de armazenamento usado pelo tópico. Pode ser definido como Local Storage ou Cloud Storage.

      Nota

      O parâmetro Storage Engine só pode ser definido como Local Storage se o tópico for criado em uma instância Professional Edition.

    etl-error-kafka

    Error Data Topic

    Tópico usado para armazenar dados de erro do sink. Este parâmetro é exibido apenas se o parâmetro Manual estiver definido como Resource Creation Method. Para economizar recursos, este tópico pode ser o mesmo que o Dead-letter Queue Topic.

    • Topic: nome do tópico. Recomendamos usar etl-error como prefixo do nome do tópico.

    • Partitions: número de partições no tópico. Recomendamos definir este parâmetro como 6.

    • Storage Engine: mecanismo de armazenamento usado pelo tópico. Pode ser definido como Local Storage ou Cloud Storage.

      Nota

      O parâmetro Storage Engine só pode ser definido como Local Storage se o tópico for criado em uma instância Professional Edition.

    etl-error-kafka

  4. Na etapa Configure Function, configure os parâmetros e clique em Create.

    Antes de clicar em Create, clique em Test para verificar se a função funciona conforme o esperado.

    Parâmetro

    Descrição

    Exemplo

    Programming Language

    Linguagem em que a função foi escrita. Defina este parâmetro como Python 3.

    Python3

    Template

    Modelo de função fornecido pelo sistema. Ao selecionar um modelo, o sistema preenche automaticamente o campo Code com o código correspondente.

    Add Prefix/Suffix

    Code

    Código usado para processar a mensagem. O ApsaraMQ for Kafka fornece modelos de função para limpar e transformar dados. Modifique o código do modelo selecionado conforme suas necessidades de negócio.

    Nota
    • Importe módulos Python conforme necessário.

    • A mensagem no código está no formato de dicionário. Basta modificar a chave e o valor.

    • Retorne a mensagem processada. Se a função for usada para filtrar mensagens, retorne None.

    def deal_message(message):
        for keyItem in message.keys():
            if (keyItem == 'key'):
                message[keyItem] = message[keyItem] + "KeySurfix"
                continue
            if (keyItem == 'value'):
                message[keyItem] = message[keyItem] + "ValueSurfix"
                continue
        return message

    Message Key

    Chave da mensagem a ser processada no tópico de origem. Clique em Test Code para exibir o parâmetro.

    demo

    Message Content

    Valor da mensagem a ser processada no tópico de origem.

    {"key": "test"}

    Após criar a tarefa de ETL, visualize-a na página ETL Tasks. O sistema implanta a tarefa automaticamente.

Enviar uma mensagem de teste

Após implantar a tarefa de ETL, envie uma mensagem de teste para o tópico de origem do ApsaraMQ for Kafka para verificar se a função configurada processa os dados e os envia ao tópico de destino.

  1. Na página ETL Tasks, localize a tarefa de ETL criada e clique em Test na coluna Actions.

  2. No painel Send Message, insira as informações da mensagem de teste e clique em OK para enviar a mensagem.

    • No campo Message Key, insira a chave da mensagem de teste. Exemplo: demo.

    • No campo Message Content, insira o conteúdo da mensagem de teste. Exemplo: {"key": "test"}.

    • Configure o parâmetro Send to Specified Partition para definir se a mensagem de teste deve ser enviada para uma partição específica.

      • Para enviar a mensagem de teste para uma partição específica, clique em Partition ID e insira um ID de partição no campo Yes. Exemplo: 0. Para saber como consultar IDs de partição, consulte Visualizar status da partição.

      • Caso não queira enviar a mensagem de teste para uma partição específica, clique em No.

Visualize logs da função

Após extrair e processar dados no ApsaraMQ for Kafka, visualize os logs da função para verificar se o tópico de destino recebeu os dados processados. Para mais informações, consulte Configurar o recurso de log.

Figura 1. Visualize logs da função 函数日志查询

Visualize detalhes de uma tarefa de ETL

Após criar uma tarefa de ETL, visualize seus detalhes no console do ApsaraMQ for Kafka.

Na página ETL Tasks, localize a tarefa de ETL criada e clique em Details na coluna Actions.

Na página Task Details, visualize os detalhes da tarefa de ETL.

Exclua uma tarefa de ETL

Se uma tarefa de ETL não for mais necessária, exclua-a no console do ApsaraMQ for Kafka.

  1. Na página ETL Tasks, localize a tarefa de ETL que deseja excluir e clique em Delete na coluna Actions.

  2. Na mensagem Notes exibida, clique em OK.