すべてのプロダクト
Search
ドキュメントセンター

AnalyticDB:エクスポートジョブの非同期送信

最終更新日:Mar 03, 2026

AnalyticDB for MySQL は、データエクスポートジョブの非同期送信をサポートしています。

シナリオ

INSERT INTO または INSERT OVERWRITE INTO SELECT 文を使用してデータをエクスポートする場合、実行はデフォルトで同期されます。データ量が数百ギガバイトに達すると、クライアントと AnalyticDB for MySQL サーバー間の接続が中断され、エクスポートが失敗する可能性があります。大量のデータの場合、エクスポートジョブを非同期で送信します。

ジョブの非同期送信

構文

  • 基本構文

    SUBMIT JOB INSERT OVERWRITE table_name select_statement;
  • 拡張構文

    ジョブを送信する際にエイリアスを指定できます。

    SUBMIT JOB <job_alias_name> AS <query_body>;
    • 一意性:エイリアスは一意である必要があります。

    • フォーマット:文字列型。シングルクォーテーションまたはダブルクォーテーションで囲まないでください。

    • 文字セット:文字、数字、アンダースコアのみがサポートされています。

    • 長さ:最大 128 文字。

  • 非同期ジョブの送信

    SUBMIT JOB INSERT OVERWRITE test SELECT * FROM test_external_table;

    文の実行後、ジョブ ID が返されます。このジョブ ID を使用して、非同期ジョブのステータスを照会できます。

    +---------------------------------------+
    | job_id                                |
    +---------------------------------------+
    | 2017112122202917203100908203303000715 |
  • 非同期ジョブを送信し、エイリアスを指定

    • 正しい例

      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;
      SUBMIT JOB "test_123" AS INSERT INTO test SELECT * FROM test_external_table;

優先度ベースのスケジューリングの設定

バージョン 3.1.3.6 以降は、優先度ベースのスケジューリングをサポートしています。SQL 文の前にヒント /*+async_job_priority=n*/ を追加して、非同期ジョブの優先度を指定できます。デフォルトの優先度値は 1 です。値が大きいほど優先度が高くなり、システムが最初にスケジュールします。

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

非同期ジョブステータスの照会

構文

  • ジョブ ID を使用した照会

    SHOW JOB STATUS WHERE job_id='job_id';
  • ジョブエイリアスを使用した照会

    SHOW JOB STATUS WHERE job_name='job_alias_name';

SHOW JOB STATUS WHERE job_id='2017112122202917203100908203303000715';

以下の情報が返されます:

+-------------------------------------------+-------------+-----------+--------------+-----------+----------+-------------------------+-------------------------+---------------------------------------------------+-------------------------------------------+------------+----------+------------+-------------+------------+------------------+------------------------+
| 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               |
+-------------------------------------------+-------------+-----------+--------------+-----------+----------+-------------------------+-------------------------+---------------------------------------------------+-------------------------------------------+------------+----------+------------+-------------+------------+------------------+------------------------+
説明

返される情報内のフィールドは、クラスターの Milvus バージョンによって異なります。返される情報内の status フィールドに基づいて、非同期ジョブのステータスを解析できます。

ジョブステータスとマッピング

Data Warehouse Edition でのステータス

Data Lakehouse Edition でのステータス

説明

INIT

SUBMITTING

非同期ジョブが送信されました。

SUBMITTED

RUNNING

非同期ジョブが実行中です。

RUNNING

FINISH

SUCCEEDED

非同期ジョブが成功しました。

FAILED

FAILED

非同期ジョブが失敗しました。

None

CANCELLED

非同期ジョブがキャンセルされました。

説明
  • CANCELLED は新しい非同期タスクの状態であり、Data Warehouse Edition (V3.0) にはマッピングされていません。

ジョブの終了

説明

  • スケジュールされていないジョブ、および完了したジョブ (失敗または成功) は、キューから削除されます。

  • 実行中のジョブが終了された場合、インポートされたデータはロールバックされる可能性があります。残存データは手動で削除する必要があります。

  • エイリアス user_define_job_name を使用してジョブを直接終了することはできません。エイリアスを使用してジョブ ID を照会し、そのジョブ ID を使用してジョブを終了する必要があります。

構文

CANCEL JOB 'job_id';

CANCEL JOB '2017112122202917203100908203303000715';