Bagikan melalui


CLI Pekerjaan (warisan)

Penting

Dokumentasi ini telah dihentikan dan mungkin tidak diperbarui.

Informasi ini berlaku untuk CLI Databricks warisan versi 0.18 ke bawah. Databricks merekomendasikan agar Anda menggunakan Databricks CLI versi 0.205 atau lebih baru. Lihat Apa itu Databricks CLI?. Untuk menemukan versi Databricks CLI Anda, jalankan databricks -v.

Untuk bermigrasi dari Databricks CLI versi 0.18 atau di bawahnya ke Databricks CLI versi 0.205 atau lebih tinggi, lihat migrasi CLI Databricks.

Anda menjalankan subperintah CLI pekerjaan Databricks dengan menambahkannya ke databricks jobs dan pekerjaan Databricks menjalankan subperintah CLI dengan menambahkannya ke databricks runs. Untuk pekerjaan Databricks menjalankan sub-perintah CLI, lihat Runs CLI (warisan). Bersama-sama, sub-perintah ini memanggil JOBS API dan Jobs API 2.0.

Penting

CLI pekerjaan Databricks mendukung panggilan terhadap dua versi REST API Pekerjaan Databricks: versi 2.1 dan 2.0. Versi 2.1 menambahkan dukungan untuk orkestrasi pekerjaan dengan beberapa tugas; lihat Menjadwalkan dan mengatur alur kerja dan Memperbarui dari Jobs API 2.0 ke 2.1. Databricks merekomendasikan agar Anda memanggil versi 2.1, kecuali jika Anda memiliki skrip warisan yang mengandalkan versi 2.0 dan tidak dapat dimigrasikan.

Kecuali ada ketentuan lain, perilaku terprogram yang dijelaskan dalam artikel ini berlaku baik untuk versi 2.1 maupun 2.0.

Persyaratan untuk memanggil REST API Pekerjaan 2.1

Untuk menyiapkan CLI pekerjaan Databricks (dan CLI pekerjaan) guna memanggil REST API Pekerjaan 2.1, lakukan hal berikut:

  1. Perbarui CLI ke versi 0.16.0 atau ke versi yang lebih tinggi.

  2. Lakukan salah satu hal berikut ini:

    • Jalankan perintah databricks jobs configure --version=2.1. Perintah ini menambahkan pengaturan jobs-api-version = 2.1 ke file ~/.databrickscfg di Unix, Linux, atau macOS, atau %USERPROFILE%\.databrickscfg di Windows. Semua subperintah CLI (dan pekerjaan menjalankan CLI) akan memanggil Jobs REST API 2.1 secara default.
    • Tambahkan pengaturan jobs-api-version = 2.1 secara manual ke file ~/.databrickscfg di Unix, Linux, atau macOS, atau %USERPROFILE%\.databrickscfg di Windows. Semua subperintah CLI (dan pekerjaan menjalankan CLI) akan memanggil Jobs REST API 2.1 secara default.
    • Tambahkan opsi --version=2.1 (misalnya, databricks jobs list --version=2.1) untuk menginstruksikan CLI pekerjaan untuk memanggil Jobs REST API 2.1 hanya untuk panggilan itu.

    Jika Anda tidak melakukan tindakan sebelumnya, maka CLI pekerjaan (dan CLI eksekusi pekerjaan) akan memanggil REST API Pekerjaan 2.0 secara default.

Persyaratan untuk memanggil REST API Pekerjaan 2.0

Untuk menyiapkan dan menggunakan CLI pekerjaan Databricks (dan CLI pekerjaan) untuk memanggil REST API Pekerjaan 2.0, lakukan salah satu dari beberapa hal berikut:

  • Gunakan versi CLI Databricks di bawah versi 0.16.0, atau
  • Perbarui CLI ke versi X.Y.Z atau yang lebih baru, lalu lakukan salah satu hal berikut ini:
    • Jalankan perintah databricks jobs configure --version=2.0. Perintah ini menambahkan pengaturan jobs-api-version = 2.0 ke file ~/.databrickscfg di Unix, Linux, atau macOS, atau %USERPROFILE%\.databrickscfg di Windows. Semua subperintah CLI (dan CLI eksekusi pekerjaan) akan memanggil REST API Pekerjaan 2.0 secara default.
    • Tambahkan pengaturan jobs-api-version = 2.0 secara manual ke file ~/.databrickscfg di Unix, Linux, atau macOS, atau %USERPROFILE%\.databrickscfg di Windows. Semua subperintah CLI (dan CLI eksekusi pekerjaan) akan memanggil REST API Pekerjaan 2.0 secara default.
    • Tambahkan opsi --version=2.1 (misalnya, databricks jobs list --version=2.0) untuk menginstruksikan CLI pekerjaan untuk memanggil Jobs REST API 2.0 hanya untuk panggilan itu.

Jika Anda tidak melakukan tindakan sebelumnya, maka CLI pekerjaan (dan CLI eksekusi pekerjaan) akan memanggil REST API Pekerjaan 2.0 secara default.

Subperintah dan penggunaan umum

databricks jobs -h
Usage: databricks jobs [OPTIONS] COMMAND [ARGS]...

  Utility to interact with jobs.

  Job runs are handled by ``databricks runs``.

Options:
  -v, --version  [VERSION]
  -h, --help     Show this message and exit.

Commands:
  create   Creates a job.
    Options:
      --json-file PATH            File containing JSON request to POST to /api/2.0/jobs/create.
      --json JSON                 JSON string to POST to /api/2.0/jobs/create.
  delete   Deletes a job.
    Options:
      --job-id JOB_ID             Can be found in the URL at https://<databricks-instance>/?o=<16-digit-number>#job/$JOB_ID. [required]
  get      Describes the metadata for a job.
    Options:
    --job-id JOB_ID               Can be found in the URL at https://<databricks-instance>/?o=<16-digit-number>#job/$JOB_ID. [required]
  list     Lists the jobs in the Databricks Job Service.
  reset    Resets (edits) the definition of a job.
    Options:
      --job-id JOB_ID             Can be found in the URL at https://<databricks-instance>/?o=<16-digit-number>#job/$JOB_ID. [required]
      --json-file PATH            File containing JSON request to POST to /api/2.0/jobs/create.
      --json JSON                 JSON string to POST to /api/2.0/jobs/create.
  run-now  Runs a job with optional per-run parameters.
    Options:
      --job-id JOB_ID             Can be found in the URL at https://<databricks-instance>/#job/$JOB_ID. [required]
      --jar-params JSON           JSON string specifying an array of parameters. i.e. '["param1", "param2"]'
      --notebook-params JSON      JSON string specifying a map of key-value pairs. i.e. '{"name": "john doe", "age": 35}'
      --python-params JSON        JSON string specifying an array of parameters. i.e. '["param1", "param2"]'
      --spark-submit-params JSON  JSON string specifying an array of parameters. i.e. '["--class", "org.apache.spark.examples.SparkPi"]'

Membuat pekerjaan

Untuk menampilkan dokumentasi penggunaan, jalankan databricks jobs create --help.

Penggunaan umum

databricks jobs create --json-file create-job.json

Catatan penggunaan dan contoh permintaan REST API Pekerjaan 2.1

Lihat Membuat di Memperbarui dari Jobs API 2.0 ke 2.1.

Jobs CLI 2.0 meminta payload dan contoh respons

create-job.json:

{
  "name": "my-job",
  "existing_cluster_id": "1234-567890-reef123",
  "notebook_task": {
    "notebook_path": "/Users/someone@example.com/My Notebook"
  },
  "email_notifications": {
    "on_success": [
      "someone@example.com"
    ],
    "on_failure": [
      "someone@example.com"
    ]
  }
}
{ "job_id": 246 }

Tip

Untuk menyalin pekerjaan, jalankan perintah create dan lewati objek JSON dengan pengaturan pekerjaan untuk disalin. Contoh ini menyalin pengaturan pekerjaan dengan ID 246 menjadi pekerjaan baru. Ini membutuhkan utilitas jq.

SETTINGS_JSON=$(databricks jobs get --job-id 246 | jq .settings)

databricks jobs create --json "$SETTINGS_JSON"
{ "job_id": 247 }

Menghapus pekerjaan

Untuk menampilkan dokumentasi penggunaan, jalankan databricks jobs delete --help.

databricks job delete --job-id 246

Jika berhasil, maka tidak ada output yang akan ditampilkan.

Tip

Untuk menghapus beberapa pekerjaan yang memiliki pengaturan yang sama, dapatkan daftar ID pekerjaan yang cocok dengan pengaturan tersebut delete, lalu jalankan perintah untuk setiap ID pekerjaan yang cocok. Contoh ini menghapus semua pekerjaan dengan nama pekerjaan Untitled. Ini membutuhkan utilitas jq.

databricks jobs list --output json | jq '.jobs[] | select(.settings.name == "Untitled") | .job_id' | xargs -n 1 databricks jobs delete --job-id

Mencantumkan informasi tentang pekerjaan

Untuk menampilkan dokumentasi penggunaan, jalankan databricks jobs get --help.

Penggunaan umum

databricks jobs get --job-id 246

Catatan penggunaan dan contoh respons CLI Pekerjaan 2.1

Lihat Mendapatkan pembaruan dari Jobs API 2.0 ke 2.1.

Contoh respons CLI Pekerjaan 2.0

{
  "job_id": 246,
  "settings": {
    "name": "my-job",
    "existing_cluster_id": "1234-567890-reef123",
    "email_notifications": {
      "on_success": [
        "someone@example.com"
      ],
      "on_failure": [
        "someone@example.com"
      ]
    },
    "timeout_seconds": 0,
    "notebook_task": {
      "notebook_path": "/Users/someone@example.com/My Notebook"
    },
    "max_concurrent_runs": 1
  },
  "created_time": 1620163107742,
  "creator_user_name": "someone@example.com"
}

Mencantumkan informasi tentang pekerjaan yang tersedia

Untuk menampilkan dokumentasi penggunaan, jalankan databricks jobs list --help.

Penggunaan umum

databricks jobs list

Catatan penggunaan dan contoh respons CLI Pekerjaan 2.1

Lihat Daftar di Memperbarui dari Jobs API 2.0 ke 2.1.

Contoh respons CLI Pekerjaan 2.0

{
  "jobs": [
    {
      "job_id": 246,
      "settings": {
        "name": "my-job",
        "existing_cluster_id": "1234-567890-reef123",
        "email_notifications": {
          "on_success": [
            "someone@example.com"
          ],
          "on_failure": [
            "someone@example.com"
          ]
        },
        "timeout_seconds": 0,
        "notebook_task": {
          "notebook_path": "/Users/someone@example.com/My Notebook"
        },
        "max_concurrent_runs": 1
      },
      "created_time": 1620163107742,
      "creator_user_name": "someone@example.com"
    },
    ...
  ]
}

Mencantumkan semua pekerjaan (khusus API 2.1)

Untuk menginstruksikan CLI untuk mengembalikan semua pekerjaan dengan melakukan panggilan berurutan ke API, gunakan opsi .--all Untuk menggunakan opsi ini --all , Anda harus mengatur versi API ke 2.1.

databricks jobs list --all

Halaman daftar pekerjaan (hanya API 2.1)

Untuk mengembalikan daftar pekerjaan yang dipaginasi, gunakan --limit argumen dan --offset . Secara default, daftar pekerjaan dikembalikan sebagai tabel yang berisi ID pekerjaan dan nama pekerjaan. Untuk mengembalikan dokumen JSON yang berisi informasi pekerjaan secara opsional, gunakan --output JSON argumen .

Untuk menggunakan --limit argumen dan --offset , Anda harus mengatur versi API ke 2.1.

Saat menggunakan --output JSON, daftar dikembalikan dalam urutan turun menurut tanggal pembuatan pekerjaan. Saat menggunakan --output TABLE, daftar dikembalikan dalam urutan turun menurut tanggal pembuatan pekerjaan lalu diurutkan menurut abjad menurut nama pekerjaan.

Contoh halaman berikut melalui pekerjaan mencantumkan 10 pekerjaan sekaligus dan mengembalikan hasilnya dalam format JSON:

databricks jobs list --output JSON --limit 10
databricks jobs list --output JSON --limit 10 --offset 10
databricks jobs list --output JSON --limit 10 --offset 20

Mengubah pengaturan untuk mesin virtual.

Untuk menampilkan dokumentasi penggunaan, jalankan databricks jobs reset --help.

Penggunaan umum

databricks jobs reset --job-id 246 --json-file reset-job.json

Catatan penggunaan dan contoh permintaan REST API Pekerjaan 2.1

Lihat Memperbarui dan Mengatur Ulang dalam Memperbarui dari Jobs API 2.0 ke 2.1.

Contoh permintaan CLI 2.0 Pekerjaan

reset-job.json:

{
  "job_id": 246,
  "existing_cluster_id": "2345-678901-batch234",
  "name": "my-changed-job",
  "notebook_task": {
    "notebook_path": "/Users/someone@example.com/My Other Notebook"
  },
  "email_notifications": {
    "on_success": [
      "someone-else@example.com"
    ],
    "on_failure": [
      "someone-else@example.com"
    ]
  }
}

Jika berhasil, maka tidak ada output yang akan ditampilkan.

Menjalankan pekerjaan

Untuk menampilkan dokumentasi penggunaan, jalankan databricks jobs run-now --help.

databricks jobs run-now --job-id 246
{
  "run_id": 122,
  "number_in_job": 1
}