All Products
Search
Document Center

AnalyticDB:Kirim Pekerjaan Impor Secara Asinkron

Last Updated:Mar 03, 2026

AnalyticDB for MySQL mendukung pengiriman pekerjaan impor data secara asinkron.

Skenario

Saat mengimpor data menggunakan INSERT INTO atau INSERT OVERWRITE SELECT, proses tersebut dieksekusi secara sinkron secara default. Jika volume data mencapai ratusan GB, koneksi dari klien ke server AnalyticDB for MySQL mungkin terputus, yang dapat menyebabkan kegagalan impor data. Oleh karena itu, untuk volume data besar, Anda sebaiknya mengirim pekerjaan impor data secara asinkron.

Kirim Pekerjaan Secara Asinkron

Sintaks

  • Sintaks dasar

    SUBMIT JOB INSERT OVERWRITE table_name select_statement;
  • Sintaks lanjutan.

    Anda dapat menentukan alias saat mengirim pekerjaan.

    SUBMIT JOB <job_alias_name> AS <query_body>;
    • Keunikan: Alias harus unik.

    • Format: Tipe string. Jangan membungkusnya dengan tanda kutip tunggal atau ganda.

    • Set karakter: Hanya huruf, angka, dan garis bawah yang didukung.

    • Panjang: Maksimal 128 karakter.

Contoh

  • Kirim pekerjaan asinkron

    SUBMIT JOB INSERT OVERWRITE test SELECT * FROM test_external_table;

    Setelah menjalankan pernyataan tersebut, sebuah job ID akan dikembalikan. Anda dapat menggunakan job ID ini untuk mengecek status pekerjaan asinkron.

    +---------------------------------------+
    | job_id                                |
    +---------------------------------------+
    | 2017112122202917203100908203303000715 |
  • Kirim pekerjaan asinkron dan tentukan alias

    • Contoh yang benar

      SUBMIT JOB test_123 AS INSERT INTO test SELECT * FROM test_external_table;
    • Contoh yang salah

      Jangan membungkus alias pekerjaan dengan tanda kutip tunggal atau ganda.

      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;

Konfigurasi Penjadwalan Berbasis Prioritas

Versi 3.1.3.6 dan yang lebih baru mendukung penjadwalan berbasis prioritas. Anda dapat menambahkan hint /*+async_job_priority=n*/ sebelum pernyataan SQL untuk menentukan prioritas pekerjaan asinkron. Nilai prioritas default adalah 1. Nilai yang lebih besar menunjukkan prioritas lebih tinggi, dan sistem akan menjadwalkannya terlebih dahulu.

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

Cek Status Pekerjaan Asinkron

Sintaks

  • Periksa menggunakan job ID

    SHOW JOB STATUS WHERE job_id='job_id';
  • Periksa menggunakan alias pekerjaan

    SHOW JOB STATUS WHERE job_name='job_alias_name';

Contoh

SHOW JOB STATUS WHERE job_id='2017112122202917203100908203303000715';

Informasi berikut dikembalikan:

+-------------------------------------------+-------------+-----------+--------------+-----------+----------+-------------------------+-------------------------+---------------------------------------------------+-------------------------------------------+------------+----------+------------+-------------+------------+------------------+------------------------+
| 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               |
+-------------------------------------------+-------------+-----------+--------------+-----------+----------+-------------------------+-------------------------+---------------------------------------------------+-------------------------------------------+------------+----------+------------+-------------+------------+------------------+------------------------+
Catatan

Bidang dalam informasi yang dikembalikan bervariasi tergantung pada versi kluster Milvus. Anda dapat mengurai status pekerjaan asinkron berdasarkan bidang status dalam informasi yang dikembalikan.

Status Pekerjaan dan Pemetaannya

Status di Edisi Data Warehouse

Status di Edisi Data Lakehouse

Deskripsi

INIT

SUBMITTING

Pekerjaan asinkron telah dikirim.

SUBMITTED

RUNNING

Pekerjaan asinkron sedang berjalan.

RUNNING

FINISH

SUCCEEDED

Pekerjaan asinkron berhasil.

FAILED

FAILED

Pekerjaan asinkron gagal.

None

CANCELLED

Pekerjaan asinkron dibatalkan.

Catatan
  • CANCELLED adalah status tugas asinkron baru dan tidak dipetakan di Edisi Data Warehouse (V3.0).

Hentikan Pekerjaan

Deskripsi

  • Pekerjaan yang belum dijadwalkan dan pekerjaan yang telah selesai (gagal atau berhasil) akan dihapus dari antrian.

  • Jika pekerjaan yang sedang berjalan dihentikan, data yang diimpor mungkin akan di-rollback. Anda harus menghapus data sisa secara manual.

  • Anda tidak dapat menghentikan pekerjaan langsung menggunakan aliasnya user_define_job_name. Anda harus mengecek job ID menggunakan alias tersebut, lalu menghentikan pekerjaan menggunakan job ID-nya.

Sintaks

CANCEL JOB 'job_id';

Contoh

CANCEL JOB '2017112122202917203100908203303000715';