Todos os produtos
Search
Central de documentação

AnalyticDB:Envio assíncrono de jobs de importação

Última atualização: Jun 27, 2026

AnalyticDB for MySQL permite enviar jobs de importação de dados de forma assíncrona.

Cenários

Ao importar dados com INSERT INTO ou INSERT OVERWRITE SELECT, a execução ocorre de forma síncrona por padrão. Se o volume de dados atingir centenas de GB, a conexão entre o cliente e o servidor do AnalyticDB for MySQL pode ser interrompida, causando falha na importação. Portanto, para grandes volumes de dados, envie os jobs de importação de forma assíncrona.

Envio assíncrono de jobs

Sintaxe

  • Sintaxe básica

    SUBMIT JOB INSERT OVERWRITE table_name select_statement;
  • Sintaxe aprimorada

    Especifique um alias ao enviar um job.

    SUBMIT JOB <job_alias_name> AS <query_body>;
    • Unicidade: O alias deve ser único.

    • Formato: Tipo string. Não use aspas simples ou duplas.

    • Conjunto de caracteres: Apenas letras, dígitos e underscores são permitidos.

    • Tamanho: Máximo de 128 caracteres.

Exemplos

  • Enviar um job assíncrono

    SUBMIT JOB INSERT OVERWRITE test SELECT * FROM test_external_table;

    Após executar a instrução, o sistema retorna um ID de job. Use esse ID para consultar o status do job assíncrono.

    +---------------------------------------+
    | job_id                                |
    +---------------------------------------+
    | 2017112122202917203100908203303000715 |
  • Enviar um job assíncrono e especificar um alias

    • Exemplo correto

      SUBMIT JOB test_123 AS INSERT INTO test SELECT * FROM test_external_table;
    • Exemplos incorretos

      Não coloque o alias do job entre aspas simples ou duplas.

      SUBMIT JOB 'test_123' AS INSERT INTO test SELECT * FROM test_external_table;
      SUBMIT JOB "test_123" AS INSERT INTO test SELECT * FROM test_external_table;

Configurar agendamento por prioridade

A versão 3.1.3.6 e posteriores oferecem suporte a agendamento baseado em prioridade. Adicione a dica /*+async_job_priority=n*/ antes da instrução SQL para definir a prioridade do job assíncrono. O valor padrão de prioridade é 1. Valores maiores indicam maior prioridade; nesses casos, o sistema agenda o job primeiro.

/*+async_job_priority=10*/ SUBMIT JOB INSERT OVERWRITE test SELECT * FROM test_external_table;

Consultar status de jobs assíncronos

Sintaxe

  • Consultar por ID do job

    SHOW JOB STATUS WHERE job_id='job_id';
  • Consultar por alias do job

    SHOW JOB STATUS WHERE job_name='job_alias_name';

Exemplos

SHOW JOB STATUS WHERE job_id='2017112122202917203100908203303000715';

O sistema retorna as seguintes informações:

+-------------------------------------------+-------------+-----------+--------------+-----------+----------+-------------------------+-------------------------+---------------------------------------------------+-------------------------------------------+------------+----------+------------+-------------+------------+------------------+------------------------+
| job_id                                    | schema_name | status    | process_rows | fail_rows | fail_msg | create_time             | update_time             | definition                                        | exec_job_id                               | total_rows | progress | start_time | result_rows | result_url | query_priority   | user_define_job_name   |
+-------------------------------------------+-------------+-----------+--------------+-----------+----------+-------------------------+-------------------------+---------------------------------------------------+-------------------------------------------+------------+----------+------------+-------------+------------+------------------+------------------------+
| 2026022710213902101709304503151000743     | test_db     | SUCCEEDED |            4 |         0 | NULL     | 2026-02-27 10:21:39.0   | 2026-02-27 10:21:45.0   | INSERT INTO test SELECT * FROM test_external_table| 2026022710214402101706516803151005717     |          0 | NULL     | NULL       |           0 | NULL       | NORMAL           | test_123               |
+-------------------------------------------+-------------+-----------+--------------+-----------+----------+-------------------------+-------------------------+---------------------------------------------------+-------------------------------------------+------------+----------+------------+-------------+------------+------------------+------------------------+
Nota

Os campos retornados variam conforme a versão do Milvus do cluster. Interprete o status do job assíncrono com base no campo status do resultado.

Status de jobs e mapeamentos

Status na Data Warehouse Edition

Status na Data Lakehouse Edition

Descrição

INIT

SUBMITTING

Job assíncrono enviado.

SUBMITTED

RUNNING

Job assíncrono em execução.

RUNNING

FINISH

SUCCEEDED

Job assíncrono concluído com sucesso.

FAILED

FAILED

Falha no job assíncrono.

Nenhum

CANCELLED

Job assíncrono cancelado.

Nota
  • CANCELLED é um novo estado de tarefa assíncrona e não possui mapeamento na Data Warehouse Edition (V3.0).

Encerrar jobs

Descrição

  • O sistema remove da fila jobs não agendados e concluídos (com falha ou sucesso).

  • Se você encerrar um job em execução, os dados importados podem sofrer rollback. Nesse caso, exclua manualmente quaisquer dados residuais.

  • Não é possível encerrar um job diretamente pelo alias user_define_job_name. Consulte o ID do job usando o alias e, em seguida, encerre o job utilizando o ID obtido.

Sintaxe

CANCEL JOB 'job_id';

Exemplos

CANCEL JOB '2017112122202917203100908203303000715';