Bagikan melalui


Jobs API 2.0

Penting

Artikel ini mendikumentasikan versi 2.0 dari Jobs API. Namun, Databricks merekomendasikan penggunaan Jobs API 2.1 untuk klien dan skrip baru dan yang sudah ada. Untuk detail tentang perubahan dari versi 2.0 ke 2.1, lihat Memperbarui dari Jobs API 2.0 ke 2.1.

Jobs API memungkinkan Anda membuat, mengedit, dan menghapus pekerjaan. Ukuran maksimum permintaan yang diizinkan ke Jobs API adalah 10 MB.

Untuk detail tentang pembaruan pada JOBS API yang mendukung orkestrasi beberapa tugas dengan pekerjaan Azure Databricks, lihat Memperbarui dari Jobs API 2.0 ke 2.1.

Peringatan

Anda tidak boleh mengodekan rahasia secara permanen atau menyimpannya dalam teks biasa. Gunakan Secrets API untuk mengelola rahasia di Databricks CLI. Gunakan Utilitas rahasia (dbutils.secrets) untuk referensi rahasia di notebook dan pekerjaan.

Catatan

Jika Anda menerima kesalahan tingkat 500 saat membuat permintaan Jobs API, Databricks merekomendasikan untuk mencoba kembali permintaan hingga 10 menit (dengan interval minimum 30 detik antara percobaan ulang).

Penting

Untuk mengakses API Databricks REST, Anda harus melakukan autentikasi.

Buat

Titik akhir Metode HTTP
2.0/jobs/create POST

Membuat pekerjaan baru.

Contoh

Contoh ini akan menghasilkan pekerjaan yang menjalankan tugas JAR pada pukul 22:15 setiap malam.

Minta

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/create \
--data @create-job.json \
| jq .

create-job.json:

{
  "name": "Nightly model training",
  "new_cluster": {
    "spark_version": "7.3.x-scala2.12",
    "node_type_id": "Standard_D3_v2",
    "num_workers": 10
  },
  "libraries": [
    {
      "jar": "dbfs:/my-jar.jar"
    },
    {
      "maven": {
        "coordinates": "org.jsoup:jsoup:1.7.2"
      }
    }
  ],
  "timeout_seconds": 3600,
  "max_retries": 1,
  "schedule": {
    "quartz_cron_expression": "0 15 22 * * ?",
    "timezone_id": "America/Los_Angeles"
  },
  "spark_jar_task": {
    "main_class_name": "com.databricks.ComputeModels"
  }
}

Ganti:

  • <databricks-instance> dengan nama instans ruang kerja Azure Databricks, misalnya adb-1234567890123456.7.azuredatabricks.net.
  • Konten create-job.json dengan bidang yang sesuai untuk solusi Anda.

Contoh ini menggunakan file .netrc dan jq.

Respons

{
  "job_id": 1
}

Struktur permintaan

Penting

  • Saat Anda menjalankan pekerjaan di kluster pekerjaan baru, pekerjaan diperlakukan sebagai beban kerja Jobs Compute (otomatis) yang tunduk pada harga Jobs Compute.
  • Saat Anda menjalankan pekerjaan pada kluster serba guna yang ada, pekerjaan tersebut diperlakukan sebagai beban kerja All-Purpose Compute (interaktif) yang tunduk pada harga All-Purpose Compute.
Nama Bidang Jenis Deskripsi
existing_cluster_id OR new_cluster STRING OR NewCluster Jika existing_cluster_id, ID dari kluster yang ada yang akan digunakan untuk semua eksekusi pekerjaan ini. Saat menjalankan pekerjaan di kluster yang ada, Anda mungkin perlu memulai ulang kluster secara manual jika berhenti merespons. Databricks menyarankan untuk menjalankan pekerjaan pada kluster baru untuk mendapatkan keandalan yang lebih besar.

Jika new_cluster, deskripsi kluster yang akan dibuat untuk setiap eksekusi.

Jika menentukan PipelineTask, bidang ini bisa dikosongkan.
notebook_taskATAU ATAU spark_jar_task
spark_python_taskATAU ATAU spark_submit_task
pipeline_task OR run_job_task
NotebookTask ATAU SparkJarTask ATAU SparkPythonTask ATAU SparkSubmitTask OR PipelineTask OR RunJobTask Jika notebook_task, menunjukkan bahwa pekerjaan ini harus menjalankan notebook. Bidang ini mungkin tidak ditentukan bersamaan dengan spark_jar_task.

Jika spark_jar_task, menunjukkan bahwa pekerjaan ini harus menjalankan JAR.

Jika spark_python_task, menunjukkan bahwa pekerjaan ini harus menjalankan file Python.

Jika spark_submit_task, menunjukkan bahwa pekerjaan ini harus diluncurkan oleh skrip pengiriman spark.

Jika pipeline_task, menunjukkan bahwa pekerjaan ini harus menjalankan alur Delta Live Tables.

Jika run_job_task, menunjukkan bahwa pekerjaan ini harus menjalankan pekerjaan lain.
name STRING Nama opsional untuk pekerjaan tersebut. Nilai defaultnya adalah Untitled.
libraries Array Pustaka Daftar pustaka yang akan diinstal di kluster yang akan menjalankan pekerjaan. Nilai default adalah daftar kosong.
email_notifications JobEmailNotifications Sekumpulan alamat email opsional yang diberitahukan saat menjalankan pekerjaan ini dimulai dan diselesaikan dan ketika pekerjaan ini dihapus. Perilaku default adalah tidak mengirim email apa pun.
webhook_notifications WebhookNotifications Sekumpulan tujuan sistem opsional untuk diberi tahu ketika eksekusi pekerjaan ini dimulai, selesai, atau gagal.
notification_settings JobNotification Pengaturan Pengaturan pemberitahuan opsional yang digunakan saat mengirim pemberitahuan ke masing-masing email_notifications dan webhook_notifications untuk pekerjaan ini.
timeout_seconds INT32 Batas waktu opsional diterapkan untuk setiap eksekusi pekerjaan ini. Perilaku default adalah tidak memiliki batas waktu.
max_retries INT32 Jumlah maksimum opsional untuk mencoba kembali eksekusi yang gagal. Eksekusi dianggap tidak berhasil jika selesai dengan FAILED result_state atau
INTERNAL_ERROR
life_cycle_state. Nilai -1 berarti mencoba kembali tanpa batas waktu dan nilai 0 berarti tidak pernah mencoba kembali. Perilaku default adalah tidak pernah mencoba kembali.
min_retry_interval_millis INT32 Interval minimal opsional dalam milidetik antara awal eksekusi yang gagal dan eksekusi percobaan ulang berikutnya. Perilaku default adalah bahwa eksekusi yang gagal segera dicoba kembali.
retry_on_timeout BOOL Kebijakan opsional untuk menentukan apakah akan mencoba kembali pekerjaan saat waktu habis. Perilaku default adalah tidak mencoba kembali pada batas waktu.
schedule CronSchedule Jadwal periodik opsional untuk pekerjaan ini. Perilaku default adalah bahwa pekerjaan berjalan ketika dipicu dengan mengklik Jalankan Sekarang di UI Pekerjaan atau mengirim permintaan API ke runNow.
max_concurrent_runs INT32 Jumlah maksimum opsional yang diizinkan dari eksekusi pekerjaan bersamaan.

Atur nilai ini jika Anda ingin dapat menjalankan beberapa eksekusi dari pekerjaan yang sama secara bersamaan. Tindakan ini berguna misalnya jika Anda memicu pekerjaan Anda pada jadwal yang sering dan ingin memungkinkan eksekusi berturut-turut tumpang tindih satu sama lain, atau jika Anda ingin memicu beberapa eksekusi yang berbeda dengan parameter input-nya.

Pengaturan ini hanya memengaruhi proses baru. Misalnya, misalkan konkurensi pekerjaan adalah 4 dan ada 4 eksekusi aktif bersamaan. Kemudian, mengatur konkurensi ke 3 tidak akan menghapus salah satu eksekusi aktif. Namun, sejak saat itu, eksekusi baru akan dilewati kecuali ada kurang dari 3 eksekusi aktif.

Nilai ini tidak boleh melebihi 1000. Mengatur nilai ini ke 0 menyebabkan semua eksekusi baru akan dilewati. Perilaku default adalah hanya mengizinkan 1 kali eksekusi bersamaan.

Struktur respons

Nama Bidang Jenis Deskripsi
job_id INT64 Pengidentifikasi kanonik untuk pekerjaan yang baru dibuat.

Daftar

Titik akhir Metode HTTP
2.0/jobs/list GET

Daftar semua pekerjaan.

Contoh

Minta

curl --netrc --request GET \
https://<databricks-instance>/api/2.0/jobs/list \
| jq .

Ganti <databricks-instance> dengan nama instans ruang kerja Azure Databricks, misalnya adb-1234567890123456.7.azuredatabricks.net.

Contoh ini menggunakan file .netrc dan jq.

Respons

{
  "jobs": [
    {
      "job_id": 1,
      "settings": {
        "name": "Nightly model training",
        "new_cluster": {
          "spark_version": "7.3.x-scala2.12",
          "node_type_id": "Standard_D3_v2",
          "num_workers": 10
        },
        "libraries": [
          {
            "jar": "dbfs:/my-jar.jar"
          },
          {
            "maven": {
              "coordinates": "org.jsoup:jsoup:1.7.2"
            }
          }
        ],
        "timeout_seconds": 100000000,
        "max_retries": 1,
        "schedule": {
          "quartz_cron_expression": "0 15 22 * * ?",
          "timezone_id": "America/Los_Angeles",
          "pause_status": "UNPAUSED"
        },
        "spark_jar_task": {
          "main_class_name": "com.databricks.ComputeModels"
        }
      },
      "created_time": 1457570074236
    }
  ]
}

Struktur respons

Nama Bidang Jenis Deskripsi
jobs Array Pekerjaan Daftar pekerjaan.

Hapus

Titik akhir Metode HTTP
2.0/jobs/delete POST

Hapus pekerjaan dan kirim email ke alamat yang ditentukan dalam JobSettings.email_notifications. Tidak ada tindakan yang terjadi jika pekerjaan telah dihapus. Setelah pekerjaan dihapus, baik detail maupun riwayat penayangannya tidak terlihat di UI Atau API Jobs. Pekerjaan dijamin akan dihapus setelah menyelesaikan permintaan ini. Namun, eksekusi yang aktif sebelum penerimaan permintaan ini mungkin masih aktif. Eksekusi tersebut akan dihentikan secara asinkron.

Contoh

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/delete \
--data '{ "job_id": <job-id> }'

Ganti:

  • <databricks-instance> dengan nama instans ruang kerja Azure Databricks, misalnya adb-1234567890123456.7.azuredatabricks.net.
  • <job-id> dengan ID pekerjaan, misalnya 123.

Contoh ini menggunakan file .netrc.

Struktur permintaan

Nama Bidang Jenis Deskripsi
job_id INT64 Pengidentifikasi kanonik dari pekerjaan yang akan dihapus. Bidang ini wajib diisi.

Dapatkan

Titik akhir Metode HTTP
2.0/jobs/get GET

Ambil informasi tentang satu pekerjaan.

Contoh

Minta

curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/get?job_id=<job-id>' \
| jq .

Atau:

curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/get \
--data job_id=<job-id> \
| jq .

Ganti:

  • <databricks-instance> dengan nama instans ruang kerja Azure Databricks, misalnya adb-1234567890123456.7.azuredatabricks.net.
  • <job-id> dengan ID pekerjaan, misalnya 123.

Contoh ini menggunakan file .netrc dan jq.

Respons

{
  "job_id": 1,
  "settings": {
    "name": "Nightly model training",
    "new_cluster": {
      "spark_version": "7.3.x-scala2.12",
      "node_type_id": "Standard_D3_v2",
      "num_workers": 10
    },
    "libraries": [
      {
        "jar": "dbfs:/my-jar.jar"
      },
      {
        "maven": {
          "coordinates": "org.jsoup:jsoup:1.7.2"
        }
      }
    ],
    "timeout_seconds": 100000000,
    "max_retries": 1,
    "schedule": {
      "quartz_cron_expression": "0 15 22 * * ?",
      "timezone_id": "America/Los_Angeles",
      "pause_status": "UNPAUSED"
    },
    "spark_jar_task": {
      "main_class_name": "com.databricks.ComputeModels"
    }
  },
  "created_time": 1457570074236
}

Struktur permintaan

Nama Bidang Jenis Deskripsi
job_id INT64 Pengidentifikasi kanonik dari pekerjaan untuk mengambil informasi tentang. Bidang ini wajib diisi.

Struktur respons

Nama Bidang Jenis Deskripsi
job_id INT64 Pengidentifikasi kanonik untuk pekerjaan ini.
creator_user_name STRING Nama pengguna pembuat. Bidang ini tidak akan disertakan dalam respons jika pengguna telah dihapus.
settings JobSettings Pengaturan untuk pekerjaan ini dan semua eksekusinya. Pengaturan ini dapat diperbarui menggunakan titik akhir Pengaturan ulang atau Pembaruan.
created_time INT64 Waktu saat pekerjaan ini dibuat dalam milidetik zaman (milidetik sejak 1/1/1970 UTC).

Atur ulang

Titik akhir Metode HTTP
2.0/jobs/reset POST

Menimpa semua pengaturan untuk pekerjaan tertentu. Gunakan titik akhir Pembaruan untuk memperbarui pengaturan pekerjaan sebagian.

Contoh

Permintaan contoh ini membuat pekerjaan 2 identik dengan pekerjaan 1 dalam contoh buat.

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/reset \
--data @reset-job.json \
| jq .

reset-job.json:

{
  "job_id": 2,
  "new_settings": {
    "name": "Nightly model training",
    "new_cluster": {
      "spark_version": "7.3.x-scala2.12",
      "node_type_id": "Standard_D3_v2",
      "num_workers": 10
    },
    "libraries": [
      {
        "jar": "dbfs:/my-jar.jar"
      },
      {
        "maven": {
          "coordinates": "org.jsoup:jsoup:1.7.2"
        }
      }
    ],
    "timeout_seconds": 100000000,
    "max_retries": 1,
    "schedule": {
      "quartz_cron_expression": "0 15 22 * * ?",
      "timezone_id": "America/Los_Angeles",
      "pause_status": "UNPAUSED"
    },
    "spark_jar_task": {
      "main_class_name": "com.databricks.ComputeModels"
    }
  }
}

Ganti:

  • <databricks-instance> dengan nama instans ruang kerja Azure Databricks, misalnya adb-1234567890123456.7.azuredatabricks.net.
  • Konten reset-job.json dengan bidang yang sesuai untuk solusi Anda.

Contoh ini menggunakan file .netrc dan jq.

Struktur permintaan

Nama Bidang Jenis Deskripsi
job_id INT64 Pengidentifikasi kanonik dari pekerjaan untuk diatur ulang. Bidang ini wajib diisi.
new_settings JobSettings Pengaturan baru pekerjaan. Pengaturan ini sepenuhnya menggantikan pengaturan lama.

Perubahan pada bidang JobSettings.timeout_seconds diterapkan ke eksekusi aktif. Perubahan pada bidang lain hanya diterapkan untuk eksekusi di masa mendatang.

Perbarui

Titik akhir Metode HTTP
2.0/jobs/update POST

Menambahkan, mengubah, atau menghapus pengaturan tertentu dari pekerjaan yang ada. Gunakan titik akhir Pengaturan ulang untuk menimpa semua pengaturan pekerjaan.

Contoh

Permintaan contoh ini menghapus pustaka dan menambahkan pengaturan pemberitahuan email ke pekerjaan 1 yang ditentukan dalam contoh buat.

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/update \
--data @update-job.json \
| jq .

update-job.json:

{
  "job_id": 1,
  "new_settings": {
    "existing_cluster_id": "1201-my-cluster",
    "email_notifications": {
      "on_start": [ "someone@example.com" ],
      "on_success": [],
      "on_failure": []
    }
  },
  "fields_to_remove": ["libraries"]
}

Ganti:

  • <databricks-instance> dengan nama instans ruang kerja Azure Databricks, misalnya adb-1234567890123456.7.azuredatabricks.net.
  • Konten update-job.json dengan bidang yang sesuai untuk solusi Anda.

Contoh ini menggunakan file .netrc dan jq.

Struktur permintaan

Nama Bidang Jenis Deskripsi
job_id INT64 Pengidentifikasi kanonik dari pekerjaan yang akan diperbarui. Bidang ini wajib diisi.
new_settings JobSettings Pengaturan baru untuk pekerjaan tersebut.

Bidang tingkat atas yang ditentukan dalam new_settings, kecuali untuk array, sepenuhnya diganti. Array digabungkan berdasarkan bidang kunci masing-masing, seperti task_key atau
job_cluster_key, dan entri array dengan kunci yang sama sepenuhnya diganti. Kecuali untuk penggabungan array, memperbarui sebagian bidang berlapis tidak didukung.

Perubahan pada bidang JobSettings.timeout_seconds diterapkan ke eksekusi aktif. Perubahan pada bidang lain hanya diterapkan untuk eksekusi di masa mendatang.
fields_to_remove Array STRING Hapus bidang tingkat atas di pengaturan pekerjaan. Menghapus bidang berlapis tidak didukung, kecuali untuk entri dari tasks array dan job_clusters . Misalnya, berikut ini adalah argumen yang valid untuk bidang ini:
["libraries", "schedule", "tasks/task_1", "job_clusters/Default"]

Bidang ini bersifat opsional.

Jalankan sekarang

Penting

  • Ruang kerja dibatasi hingga 1000 eksekusi tugas bersamaan. Respons 429 Too Many Requests dikembalikan saat Anda meminta eksekusi yang tidak dapat segera dimulai.
  • Jumlah pekerjaan yang dapat dibuat ruang kerja dalam satu jam dibatasi hingga 10000 (termasuk “pengiriman eksekusi”). Batas ini juga memengaruhi tugas yang dibuat oleh REST API dan alur kerja notebook.
Titik akhir Metode HTTP
2.0/jobs/run-now POST

Jalankan pekerjaan sekarang dan kembalikan run_id eksekusi yang dipicu.

Tip

Jika Anda memanggil Buat bersama dengan Jalankan sekarang, Anda dapat menggunakan titik akhir Pengiriman eksekusi sebagai gantinya, yang memungkinkan Anda mengirimkan beban kerja secara langsung tanpa harus membuat pekerjaan.

Contoh

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/run-now \
--data @run-job.json \
| jq .

run-job.json:

Contoh permintaan untuk pekerjaan notebook:

{
  "job_id": 1,
  "notebook_params": {
    "name": "john doe",
    "age": "35"
  }
}

Contoh permintaan untuk pekerjaan JAR:

{
  "job_id": 2,
  "jar_params": [ "john doe", "35" ]
}

Ganti:

  • <databricks-instance> dengan nama instans ruang kerja Azure Databricks, misalnya adb-1234567890123456.7.azuredatabricks.net.
  • Konten run-job.json dengan bidang yang sesuai untuk solusi Anda.

Contoh ini menggunakan file .netrc dan jq.

Struktur permintaan

Nama Bidang Jenis Deskripsi
job_id INT64
jar_params Array STRING Daftar parameter untuk pekerjaan dengan tugas JAR, misalnya "jar_params": ["john doe", "35"]. Parameter akan digunakan untuk memanggil fungsi utama dari kelas utama yang ditentukan dalam tugas JAR Spark. Jika tidak ditentukan pada run-now, pengaturannya akan ditentukan secara default ke daftar kosong. jar_params tidak dapat ditentukan bersama dengan notebook_params. Representasi JSON dari bidang ini (yaitu {"jar_params":["john doe","35"]}) tidak dapat melebihi 10.000 byte.
notebook_params Peta ParamPair Misalnya, peta dari kunci ke nilai untuk pekerjaan dengan tugas notebook.
"notebook_params": {"name": "john doe", "age": "35"}. Peta diteruskan ke notebook dan dapat diakses melalui fungsi dbutils.widgets.get.

Jika tidak ditentukan pada run-now, eksekusi yang dipicu akan menggunakan parameter dasar pekerjaan.

Anda tidak dapat menentukan notebook_params bersama dengan jar_params.

Representasi JSON dari bidang ini (yaitu
{"notebook_params":{"name":"john doe","age":"35"}}) tidak boleh melebihi 10.000 byte.
python_params Array STRING Daftar parameter untuk pekerjaan dengan tugas Python, misalnya "python_params": ["john doe", "35"]. Parameter akan diteruskan ke file Python sebagai parameter baris perintah. Jika ditentukan pada run-now, pengaturannya akan menimpa parameter yang ditentukan dalam pengaturan pekerjaan. Representasi JSON dari bidang ini (yaitu {"python_params":["john doe","35"]}) tidak dapat melebihi 10.000 byte.
spark_submit_params Array STRING Daftar parameter untuk pekerjaan dengan tugas pengiriman spark, misalnya.
"spark_submit_params": ["--class", "org.apache.spark.examples.SparkPi"]. Parameter akan diteruskan ke skrip pengiriman spark sebagai parameter baris perintah. Jika ditentukan pada run-now, pengaturannya akan menimpa parameter yang ditentukan dalam pengaturan pekerjaan. Representasi JSON dari bidang ini tidak boleh melebihi 10.000 byte.
idempotency_token STRING Token opsional yang dapat digunakan untuk menjamin idempotensi permintaan eksekusi pekerjaan. Jika sudah ada eksekusi dengan token yang disediakan, permintaan tidak akan membuat eksekusi baru. Namun, permintaan tersebut akan mengembalikan ID dari eksekusi yang ada. Jika eksekusi dengan token yang disediakan dihapus, kesalahan akan dikembalikan.

Jika Anda menentukan token idempotency, setelah gagal Anda dapat mencoba ulang hingga permintaan berhasil. Azure Databricks menjamin bahwa tepat satu eksekusi akan diluncurkan dengan token idempotensi tersebut.

Token ini harus memiliki maksimal 64 karakter.

Untuk informasi selengkapnya, lihat Cara memastikan idempotency untuk pekerjaan.

Struktur respons

Nama Bidang Jenis Deskripsi
run_id INT64 ID unik secara global dari eksekusi yang baru dipicu.
number_in_job INT64 Nomor urut eksekusi ini di antara semua eksekusi pekerjaan.

Menjalankan pengiriman

Penting

  • Ruang kerja dibatasi hingga 1000 eksekusi tugas bersamaan. Respons 429 Too Many Requests dikembalikan saat Anda meminta eksekusi yang tidak dapat segera dimulai.
  • Jumlah pekerjaan yang dapat dibuat ruang kerja dalam satu jam dibatasi hingga 10000 (termasuk “pengiriman eksekusi”). Batas ini juga memengaruhi tugas yang dibuat oleh REST API dan alur kerja notebook.
Titik akhir Metode HTTP
2.0/jobs/runs/submit POST

Mengirimkan eksekusi satu kali. Titik akhir ini memungkinkan Anda mengirimkan beban kerja secara langsung tanpa membuat pekerjaan. Gunakan jobs/runs/get API untuk memeriksa status eksekusi setelah pekerjaan dikirimkan.

Contoh

Minta

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/submit \
--data @submit-job.json \
| jq .

submit-job.json:

{
  "run_name": "my spark task",
  "new_cluster": {
    "spark_version": "7.3.x-scala2.12",
    "node_type_id": "Standard_D3_v2",
    "num_workers": 10
  },
  "libraries": [
    {
      "jar": "dbfs:/my-jar.jar"
    },
    {
      "maven": {
        "coordinates": "org.jsoup:jsoup:1.7.2"
      }
    }
  ],
  "spark_jar_task": {
    "main_class_name": "com.databricks.ComputeModels"
  }
}

Ganti:

  • <databricks-instance> dengan nama instans ruang kerja Azure Databricks, misalnya adb-1234567890123456.7.azuredatabricks.net.
  • Konten submit-job.json dengan bidang yang sesuai untuk solusi Anda.

Contoh ini menggunakan file .netrc dan jq.

Respons

{
  "run_id": 123
}

Struktur permintaan

Penting

  • Saat Anda menjalankan pekerjaan di kluster pekerjaan baru, pekerjaan diperlakukan sebagai beban kerja Jobs Compute (otomatis) yang tunduk pada harga Jobs Compute.
  • Saat Anda menjalankan pekerjaan pada kluster serba guna yang ada, pekerjaan tersebut diperlakukan sebagai beban kerja All-Purpose Compute (interaktif) yang tunduk pada harga All-Purpose Compute.
Nama Bidang Jenis Deskripsi
existing_cluster_id OR new_cluster STRING OR NewCluster Jika existing_cluster_id, ID dari kluster yang ada yang akan digunakan untuk semua eksekusi pekerjaan ini. Saat menjalankan pekerjaan di kluster yang ada, Anda mungkin perlu memulai ulang kluster secara manual jika berhenti merespons. Databricks menyarankan untuk menjalankan pekerjaan pada kluster baru untuk mendapatkan keandalan yang lebih besar.

Jika new_cluster, deskripsi kluster yang akan dibuat untuk setiap eksekusi.

Jika menentukan PipelineTask, bidang ini bisa dikosongkan.
notebook_taskATAU ATAU spark_jar_task
spark_python_taskATAU ATAU spark_submit_task
pipeline_task OR run_job_task
NotebookTask ATAU SparkJarTask ATAU SparkPythonTask ATAU SparkSubmitTask OR PipelineTask OR RunJobTask Jika notebook_task, menunjukkan bahwa pekerjaan ini harus menjalankan notebook. Bidang ini mungkin tidak ditentukan bersamaan dengan spark_jar_task.

Jika spark_jar_task, menunjukkan bahwa pekerjaan ini harus menjalankan JAR.

Jika spark_python_task, menunjukkan bahwa pekerjaan ini harus menjalankan file Python.

Jika spark_submit_task, menunjukkan bahwa pekerjaan ini harus diluncurkan oleh skrip pengiriman spark.

Jika pipeline_task, menunjukkan bahwa pekerjaan ini harus menjalankan alur Delta Live Tables.

Jika run_job_task, menunjukkan bahwa pekerjaan ini harus menjalankan pekerjaan lain.
run_name STRING Nama opsional untuk eksekusi. Nilai defaultnya adalah Untitled.
webhook_notifications WebhookNotifications Sekumpulan tujuan sistem opsional untuk diberi tahu ketika eksekusi pekerjaan ini dimulai, selesai, atau gagal.
notification_settings JobNotification Pengaturan Pengaturan pemberitahuan opsional yang digunakan saat mengirim pemberitahuan ke masing-masing webhook_notifications untuk eksekusi ini.
libraries Array Pustaka Daftar pustaka yang akan diinstal di kluster yang akan menjalankan pekerjaan. Nilai default adalah daftar kosong.
timeout_seconds INT32 Batas waktu opsional diterapkan untuk setiap eksekusi pekerjaan ini. Perilaku default adalah tidak memiliki batas waktu.
idempotency_token STRING Token opsional yang dapat digunakan untuk menjamin idempotensi permintaan eksekusi pekerjaan. Jika sudah ada eksekusi dengan token yang disediakan, permintaan tidak akan membuat eksekusi baru. Namun, permintaan tersebut akan mengembalikan ID dari eksekusi yang ada. Jika eksekusi dengan token yang disediakan dihapus, kesalahan akan dikembalikan.

Jika Anda menentukan token idempotency, setelah gagal Anda dapat mencoba ulang hingga permintaan berhasil. Azure Databricks menjamin bahwa tepat satu eksekusi akan diluncurkan dengan token idempotensi tersebut.

Token ini harus memiliki maksimal 64 karakter.

Untuk informasi selengkapnya, lihat Cara memastikan idempotency untuk pekerjaan.

Struktur respons

Nama Bidang Jenis Deskripsi
run_id INT64 Pengidentifikasi kanonik untuk eksekusi yang baru dikirimkan.

Menjalankan daftar

Titik akhir Metode HTTP
2.0/jobs/runs/list GET

Daftar eksekusi dalam urutan menurun pada waktu mulai.

Catatan

Eksekusi akan dihapus secara otomatis setelah 60 hari. Jika ingin mereferensikannya di luar 60 hari, Anda harus menyimpan hasil eksekusi lama sebelum kedaluwarsa. Untuk mengekspor menggunakan UI, lihat Mengekspor hasil eksekusi pekerjaan. Untuk mengekspor menggunakan Jobs API, lihat Menjalankan ekspor.

Contoh

Minta

curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/list?job_id=<job-id>&active_only=<true-false>&offset=<offset>&limit=<limit>&run_type=<run-type>' \
| jq .

Atau:

curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/list \
--data 'job_id=<job-id>&active_only=<true-false>&offset=<offset>&limit=<limit>&run_type=<run-type>' \
| jq .

Ganti:

  • <databricks-instance> dengan nama instans ruang kerja Azure Databricks, misalnya adb-1234567890123456.7.azuredatabricks.net.
  • <job-id> dengan ID pekerjaan, misalnya 123.
  • <true-false> dengan true atau false.
  • <offset> dengan nilai offset.
  • <limit> dengan nilai limit.
  • <run-type> dengan nilai run_type.

Contoh ini menggunakan file .netrc dan jq.

Respons

{
  "runs": [
    {
      "job_id": 1,
      "run_id": 452,
      "number_in_job": 5,
      "state": {
        "life_cycle_state": "RUNNING",
        "state_message": "Performing action"
      },
      "task": {
        "notebook_task": {
          "notebook_path": "/Users/donald@duck.com/my-notebook"
        }
      },
      "cluster_spec": {
        "existing_cluster_id": "1201-my-cluster"
      },
      "cluster_instance": {
        "cluster_id": "1201-my-cluster",
        "spark_context_id": "1102398-spark-context-id"
      },
      "overriding_parameters": {
        "jar_params": ["param1", "param2"]
      },
      "start_time": 1457570074236,
      "end_time": 1457570075149,
      "setup_duration": 259754,
      "execution_duration": 3589020,
      "cleanup_duration": 31038,
      "run_duration": 3879812,
      "trigger": "PERIODIC"
    }
  ],
  "has_more": true
}

Struktur permintaan

Nama Bidang Jenis Deskripsi
active_only OR completed_only BOOL OR BOOL Jika active_only adalah true, hanya eksekusi aktif yang termasuk dalam hasil; jika tidak, akan mencantumkan eksekusi aktif dan selesai. Eksekusi aktif adalah eksekusi di PENDING, RUNNING, atau TERMINATINGRunLifecycleState. Bidang ini tidak dapat berupa true ketika completed_only adalah true.

Jika completed_only adalah true, hanya eksekusi yang selesai yang disertakan dalam hasil; jika tidak, akan mencantumkan eksekusi yang aktif dan selesai. Bidang ini tidak dapat berupa true ketika active_only adalah true.
job_id INT64 Pekerjaan yang harus dicantumkan eksekusi. Jika dihilangkan, layanan Jobs akan mencantumkan eksekusi dari semua pekerjaan.
offset INT32 Offset dari eksekusi pertama yang akan dikembalikan, relatif terhadap eksekusi terbaru.
limit INT32 Jumlah eksekusi yang akan dikembalikan. Nilai ini harus lebih besar dari 0 dan kurang dari 1000. Nilai default adalah 20. Jika permintaan menentukan batas 0, layanan akan menggunakan batas maksimum.
run_type STRING Jenis eksekusi yang akan dikembalikan. Untuk deskripsi jenis eksekusi, lihat Eksekusi.

Struktur respons

Nama Bidang Jenis Deskripsi
runs Array Eksekusi Daftar eksekusi, dari yang paling baru dimulai hingga yang paling sedikit.
has_more BOOL Jika benar, eksekusi tambahan yang cocok dengan filter yang disediakan akan tersedia untuk dicantumkan.

Menjalankan get

Titik akhir Metode HTTP
2.0/jobs/runs/get GET

Mengambil metadata eksekusi.

Catatan

Eksekusi akan dihapus secara otomatis setelah 60 hari. Jika ingin mereferensikannya di luar 60 hari, Anda harus menyimpan hasil eksekusi lama sebelum kedaluwarsa. Untuk mengekspor menggunakan UI, lihat Mengekspor hasil eksekusi pekerjaan. Untuk mengekspor menggunakan Jobs API, lihat Menjalankan ekspor.

Contoh

Minta

curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/get?run_id=<run-id>' \
| jq .

Atau:

curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/get \
--data run_id=<run-id> \
| jq .

Ganti:

  • <databricks-instance> dengan nama instans ruang kerja Azure Databricks, misalnya adb-1234567890123456.7.azuredatabricks.net.
  • <run-id> dengan ID eksekusi, misalnya 123.

Contoh ini menggunakan file .netrc dan jq.

Respons

{
  "job_id": 1,
  "run_id": 452,
  "number_in_job": 5,
  "state": {
    "life_cycle_state": "RUNNING",
    "state_message": "Performing action"
  },
  "task": {
    "notebook_task": {
      "notebook_path": "/Users/someone@example.com/my-notebook"
    }
  },
  "cluster_spec": {
    "existing_cluster_id": "1201-my-cluster"
  },
  "cluster_instance": {
    "cluster_id": "1201-my-cluster",
    "spark_context_id": "1102398-spark-context-id"
  },
  "overriding_parameters": {
    "jar_params": ["param1", "param2"]
  },
  "start_time": 1457570074236,
  "end_time": 1457570075149,
  "setup_duration": 259754,
  "execution_duration": 3589020,
  "cleanup_duration": 31038,
  "run_duration": 3879812,
  "trigger": "PERIODIC"
}

Struktur permintaan

Nama Bidang Jenis Deskripsi
run_id INT64 Pengidentifikasi kanonik dari eksekusi untuk mengambil metadata. Bidang ini wajib diisi.

Struktur respons

Nama Bidang Jenis Deskripsi
job_id INT64 Pengidentifikasi kanonik dari pekerjaan yang berisi eksekusi ini.
run_id INT64 Pengidentifikasi kanonik dari eksekusi. ID ini bersifat unik di semua pekerjaan.
number_in_job INT64 Nomor urut eksekusi ini di antara semua eksekusi pekerjaan. Nilai ini dimulai dari 1.
original_attempt_run_id INT64 Jika eksekusi ini adalah percobaan ulang dari upaya eksekusi sebelumnya, bidang ini berisi run_id dari upaya awal; jika tidak, bidang ini sama dengan run_id.
state RunState Hasil dan status siklus hidup eksekusi.
schedule CronSchedule Jadwal cron yang memicu eksekusi ini jika dipicu oleh penjadwal periodik.
task JobTask Tugas yang dilakukan oleh eksekusi, jika ada.
cluster_spec ClusterSpec Snapshot dari spesifikasi kluster pekerjaan saat eksekusi ini dibuat.
cluster_instance ClusterInstance Kluster yang digunakan untuk eksekusi ini. Jika eksekusi ditentukan untuk menggunakan kluster baru, bidang ini akan diatur setelah layanan Jobs meminta kluster eksekusi.
overriding_parameters RunParameters Parameter yang digunakan untuk eksekusi ini.
start_time INT64 Waktu saat eksekusi ini dimulai dalam milidetik zaman (milidetik sejak 1/1/1970 UTC). Ini mungkin bukan waktu saat tugas pekerjaan mulai dijalankan, misalnya, jika pekerjaan dijadwalkan untuk berjalan pada kluster baru, ini adalah saat panggilan pembuatan kluster dilakukan.
end_time INT64 Waktu saat eksekusi ini berakhir dengan milidetik zaman (milidetik sejak 1/1/1970 UTC). Bidang ini akan diatur ke 0 jika pekerjaan masih berjalan.
setup_duration INT64 Waktu dalam milidetik yang diperlukan untuk mengatur kluster. Untuk eksekusi yang berjalan pada kluster baru ini adalah waktu pembuatan kluster, untuk eksekusi yang berjalan pada kluster yang ada, waktu ini harus sangat singkat. Total durasi eksekusi adalah jumlah dari setup_duration,
execution_duration, dan cleanup_duration. Bidang setup_duration diatur ke 0 untuk eksekusi pekerjaan multitugas. Total durasi pekerjaan multitugas yang dijalankan adalah nilai
run_duration Bidang.
execution_duration INT64 Waktu dalam milidetik yang diperlukan untuk menjalankan perintah di JAR atau notebook sampai proses selesai, gagal, waktunya habis, dibatalkan, atau mengalami kesalahan yang tidak terduga. Total durasi eksekusi adalah jumlah dari setup_duration, execution_duration, dan
cleanup_duration. Bidang execution_duration diatur ke 0 untuk eksekusi pekerjaan multitugas. Total durasi pekerjaan multitugas yang dijalankan adalah nilai run_duration bidang .
cleanup_duration INT64 Waktu dalam milidetik yang dibutuhkan untuk menghentikan kluster dan menghapus artefak terkait. Total durasi eksekusi adalah jumlah dari setup_duration, execution_duration, dan cleanup_duration. Bidang cleanup_duration diatur ke 0 untuk eksekusi pekerjaan multitugas. Total durasi pekerjaan multitugas yang dijalankan adalah nilai run_duration bidang .
run_duration INT64 Waktu dalam milidetik dibutuhkan pekerjaan berjalan dan semua perbaikannya selesai. Bidang ini hanya diatur untuk eksekusi pekerjaan multitugas dan bukan eksekusi tugas. Durasi eksekusi tugas adalah jumlah dari
setup_duration, execution_duration, dan cleanup_duration.
trigger TriggerType Jenis pemicu yang mengaktifkan eksekusi ini.
creator_user_name STRING Nama pengguna pembuat. Bidang ini tidak akan disertakan dalam respons jika pengguna telah dihapus
run_page_url STRING URL ke halaman detail eksekusi.

Menjalankan ekspor

Titik akhir Metode HTTP
2.0/jobs/runs/export GET

Mengekspor dan mengambil tugas eksekusi pekerjaan.

Catatan

Hanya eksekusi notebook yang dapat diekspor dalam format HTML. Ekspor dari jenis lain akan gagal.

Contoh

Minta

curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/export?run_id=<run-id>' \
| jq .

Atau:

curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/export \
--data run_id=<run-id> \
| jq .

Ganti:

  • <databricks-instance> dengan nama instans ruang kerja Azure Databricks, misalnya adb-1234567890123456.7.azuredatabricks.net.
  • <run-id> dengan ID eksekusi, misalnya 123.

Contoh ini menggunakan file .netrc dan jq.

Respons

{
  "views": [ {
    "content": "<!DOCTYPE html><html><head>Head</head><body>Body</body></html>",
    "name": "my-notebook",
    "type": "NOTEBOOK"
  } ]
}

Untuk mengekstrak notebook HTML dari respons JSON, unduh dan jalankan skrip Python ini.

Catatan

Isi notebook dalam objek __DATABRICKS_NOTEBOOK_MODEL dikodekan.

Struktur permintaan

Nama Bidang Jenis Deskripsi
run_id INT64 Pengidentifikasi kanonik untuk eksekusi. Bidang ini wajib diisi.
views_to_export ViewsToExport Tampilan mana yang akan diekspor (CODE, DASHBOARDS, atau ALL). Default ke KODE.

Struktur respons

Nama Bidang Jenis Deskripsi
views Array ViewItem Konten yang diekspor dalam format HTML (satu konten untuk setiap item tampilan).

Pembatalan eksekusi

Titik akhir Metode HTTP
2.0/jobs/runs/cancel POST

Membatalkan pekerjaan yang dijalankan. Karena proses dibatalkan secara asinkron, proses mungkin masih berjalan saat permintaan ini selesai. Eksekusi akan segera dihentikan. Jika eksekusi sudah berada di terminal life_cycle_state, metode ini adalah no-op.

Titik akhir ini memvalidasi bahwa parameter run_id valid dan untuk parameter yang tidak valid akan mengembalikan kode status HTTP 400.

Contoh

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/cancel \
--data '{ "run_id": <run-id> }'

Ganti:

  • <databricks-instance> dengan nama instans ruang kerja Azure Databricks, misalnya adb-1234567890123456.7.azuredatabricks.net.
  • <run-id> dengan ID eksekusi, misalnya 123.

Contoh ini menggunakan file .netrc.

Struktur permintaan

Nama Bidang Jenis Deskripsi
run_id INT64 Pengidentifikasi kanonik dari proses yang akan dibatalkan. Bidang ini wajib diisi.

Pembatalan semua eksekusi

Titik akhir Metode HTTP
2.0/jobs/runs/cancel-all POST

Batalkan semua eksekusi pekerjaan yang sedang berjalan. Karena proses dibatalkan secara asinkron, ini tidak mencegah proses baru dimulai.

Titik akhir ini memvalidasi bahwa parameter job_id valid dan untuk parameter yang tidak valid akan mengembalikan kode status HTTP 400.

Contoh

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/cancel-all \
--data '{ "job_id": <job-id> }'

Ganti:

  • <databricks-instance> dengan nama instans ruang kerja Azure Databricks, misalnya adb-1234567890123456.7.azuredatabricks.net.
  • <job-id> dengan ID pekerjaan, misalnya 123.

Contoh ini menggunakan file .netrc.

Struktur permintaan

Nama Bidang Jenis Deskripsi
job_id INT64 Pengidentifikasi kanonik dari pekerjaan untuk membatalkan semua eksekusi. Bidang ini wajib diisi.

Output get eksekusi

Titik akhir Metode HTTP
2.0/jobs/runs/get-output GET

Mengambil output dan metadata dari satu tugas yang dieksekusi. Saat tugas notebook mengembalikan nilai melalui panggilan dbutils.notebook.exit(), Anda dapat menggunakan titik akhir ini untuk mengambil nilai tersebut. Azure Databricks membatasi API ini untuk mengembalikan 5 MB pertama output. Untuk mengembalikan hasil yang lebih besar, Anda dapat menyimpan hasil pekerjaan di layanan penyimpanan cloud.

Titik akhir ini memvalidasi bahwa parameter run_id valid dan untuk parameter yang tidak valid akan mengembalikan kode status HTTP 400.

Eksekusi akan dihapus secara otomatis setelah 60 hari. Jika ingin mereferensikannya di luar 60 hari, Anda harus menyimpan hasil eksekusi lama sebelum kedaluwarsa. Untuk mengekspor menggunakan UI, lihat Mengekspor hasil eksekusi pekerjaan. Untuk mengekspor menggunakan Jobs API, lihat Menjalankan ekspor.

Contoh

Minta

curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/get-output?run_id=<run-id>' \
| jq .

Atau:

curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/get-output \
--data run_id=<run-id> \
| jq .

Ganti:

  • <databricks-instance> dengan nama instans ruang kerja Azure Databricks, misalnya adb-1234567890123456.7.azuredatabricks.net.
  • <run-id> dengan ID eksekusi, misalnya 123.

Contoh ini menggunakan file .netrc dan jq.

Respons

{
  "metadata": {
    "job_id": 1,
    "run_id": 452,
    "number_in_job": 5,
    "state": {
      "life_cycle_state": "TERMINATED",
      "result_state": "SUCCESS",
      "state_message": ""
    },
    "task": {
      "notebook_task": {
        "notebook_path": "/Users/someone@example.com/my-notebook"
      }
    },
    "cluster_spec": {
      "existing_cluster_id": "1201-my-cluster"
    },
    "cluster_instance": {
      "cluster_id": "1201-my-cluster",
      "spark_context_id": "1102398-spark-context-id"
    },
    "overriding_parameters": {
      "jar_params": ["param1", "param2"]
    },
    "start_time": 1457570074236,
    "setup_duration": 259754,
    "execution_duration": 3589020,
    "cleanup_duration": 31038,
    "run_duration": 3879812,
    "trigger": "PERIODIC"
  },
  "notebook_output": {
    "result": "the maybe truncated string passed to dbutils.notebook.exit()"
  }
}

Struktur permintaan

Nama Bidang Jenis Deskripsi
run_id INT64 Pengidentifikasi kanonik untuk eksekusi. Untuk pekerjaan dengan banyak tugas, ini adalah run_id tugas yang dieksekusi. Lihat Eksekusi mendapatkan output. Bidang ini wajib diisi.

Struktur respons

Nama Bidang Jenis Deskripsi
notebook_output OR error NotebookOutput OR STRING Jika notebook_output, output dari tugas notebook, jika tersedia. Tugas notebook yang berakhir (baik berhasil maupun dengan kegagalan) tanpa panggilan
dbutils.notebook.exit() dianggap memiliki output kosong. Bidang ini akan diatur tetapi nilai hasilnya akan kosong.

Jika terjadi kesalahan, pesan kesalahan akan menunjukkan mengapa output tidak tersedia. Pesan tidak terstruktur, dan format yang tepat dapat berubah.
metadata jalankan Semua detail eksekusi kecuali outputnya.

Penghapusan eksekusi

Titik akhir Metode HTTP
2.0/jobs/runs/delete POST

Menghapus eksekusi non-aktif. Mengembalikan kesalahan jika eksekusi aktif.

Contoh

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/delete \
--data '{ "run_id": <run-id> }'

Ganti:

  • <databricks-instance> dengan nama instans ruang kerja Azure Databricks, misalnya adb-1234567890123456.7.azuredatabricks.net.
  • <run-id> dengan ID eksekusi, misalnya 123.

Contoh ini menggunakan file .netrc.

Struktur permintaan

Nama Bidang Jenis Deskripsi
run_id INT64 Pengidentifikasi kanonik dari eksekusi untuk mengambil metadata.

Struktur data

Di bagian ini:

ABFSSStorageInfo

Informasi penyimpanan Azure Data Lake Storage (ADLS).

Nama Bidang Jenis Deskripsi
destination STRING Tujuan file. Contoh: abfss://...

AutoScale

Rentang yang menentukan jumlah min dan maks pekerja kluster.

Nama Bidang Jenis Deskripsi
min_workers INT32 Jumlah minimum pekerja yang dapat diskalakan kluster ke bawah ketika kurang dimanfaatkan. Ini juga merupakan jumlah awal pekerja yang akan dimiliki kluster setelah pembuatan.
max_workers INT32 Jumlah maksimum pekerja yang dapat diskalakan kluster ke atas ketika kelebihan beban. max_workers harus benar-benar lebih besar dari min_workers.

AzureAttributes

Atribut yang diatur selama pembuatan kluster yang terkait dengan Azure.

Nama Bidang Jenis Deskripsi
first_on_demand INT32 Node first_on_demand pertama dari kluster akan ditempatkan pada instans sesuai permintaan. Nilai ini harus lebih besar dari 0, jika tidak validasi pembuatan kluster gagal. Jika nilai ini lebih besar dari atau sama dengan ukuran kluster saat ini, semua node akan ditempatkan pada instans sesuai permintaan. Jika nilai ini kurang dari ukuran kluster saat ini, node first_on_demand akan ditempatkan pada instans sesuai permintaan dan sisanya akan ditempatkan pada instans ketersediaan. Nilai ini tidak memengaruhi ukuran kluster dan tidak dapat bermutasi selama masa pakai kluster.
availability AzureAvailability Jenis ketersediaan yang digunakan untuk semua node berikutnya setelah first_on_demand.
spot_bid_max_price DOUBLE Harga tawaran tertinggi yang digunakan untuk instans spot Azure. Anda dapat mengatur harga ini ke harga lebih tinggi dari atau sama dengan harga spot saat ini. Anda juga dapat mengatur harga ini ke -1 (default), yang menentukan bahwa instans tidak dapat dibatalkan karena alasan harga. Harga instans ini akan menjadi harga saat ini untuk instans spot atau harga untuk instans standar. Anda dapat menampilkan riwayat harga dan tingkat pembatalan di portal Azure.

AzureAvailability

Perilaku jenis ketersediaan instans Azure.

Jenis Deskripsi
SPOT_AZURE Penggunaan instans spot.
ON_DEMAND_AZURE Penggunaan instans sesuai permintaan.
SPOT_WITH_FALLBACK_AZURE Sebaiknya gunakan instans spot, tetapi kembalikan ke instans sesuai permintaan jika instans spot tidak dapat diperoleh (misalnya, jika harga spot Azure terlalu tinggi atau di luar kuota). Tidak berlaku untuk ketersediaan pool.

ClusterInstance

Pengidentifikasi untuk kluster dan konteks Spark yang digunakan oleh eksekusi. Kedua nilai ini bersama-sama mengidentifikasi konteks eksekusi sepanjang waktu.

Nama Bidang Jenis Deskripsi
cluster_id STRING Pengidentifikasi kanonik untuk kluster yang digunakan oleh eksekusi. Bidang ini selalu tersedia untuk dijalankan pada kluster yang ada. Untuk kluster baru, eksekusi akan tersedia setelah kluster dibuat. Nilai ini dapat digunakan untuk melihat log dengan menelusurinya ke /#setting/sparkui/$cluster_id/driver-logs. Log akan terus tersedia setelah proses selesai.

Respons tidak akan menyertakan bidang ini jika pengidentifikasi belum tersedia.
spark_context_id STRING Pengidentifikasi kanonik untuk konteks Spark yang digunakan oleh eksekusi. Bidang ini akan diisi setelah eksekusi dimulai. Nilai ini dapat digunakan untuk melihat Spark UI dengan menelusurinya ke /#setting/sparkui/$cluster_id/$spark_context_id. Ui Spark akan terus tersedia setelah proses selesai.

Respons tidak akan menyertakan bidang ini jika pengidentifikasi belum tersedia.

ClusterLogConf

Jalur ke log kluster.

Nama Bidang Jenis Deskripsi
dbfs DbfsStorageInfo Lokasi DBFS dari log kluster. Tujuan harus disediakan. Contohnya,
{ "dbfs" : { "destination" : "dbfs:/home/cluster_log" } }

ClusterSpec

Penting

  • Saat Anda menjalankan pekerjaan di kluster pekerjaan baru, pekerjaan diperlakukan sebagai beban kerja Jobs Compute (otomatis) yang tunduk pada harga Jobs Compute.
  • Saat Anda menjalankan pekerjaan pada kluster serba guna yang ada, pekerjaan tersebut diperlakukan sebagai beban kerja All-Purpose Compute (interaktif) yang tunduk pada harga All-Purpose Compute.
Nama Bidang Jenis Deskripsi
existing_cluster_id OR new_cluster STRING OR NewCluster Jika existing_cluster_id, ID dari kluster yang ada yang akan digunakan untuk semua eksekusi pekerjaan ini. Saat menjalankan pekerjaan di kluster yang ada, Anda mungkin perlu memulai ulang kluster secara manual jika berhenti merespons. Databricks menyarankan untuk menjalankan pekerjaan pada kluster baru untuk mendapatkan keandalan yang lebih besar.

Jika new_cluster, deskripsi kluster yang akan dibuat untuk setiap eksekusi.

Jika menentukan PipelineTask, bidang ini bisa dikosongkan.
libraries Array Pustaka Daftar pustaka yang akan diinstal di kluster yang akan menjalankan pekerjaan. Nilai default adalah daftar kosong.

ClusterTag

Definisi tag kluster.

Jenis Deskripsi
STRING Kunci dari tag. Kunci harus:

* Memiliki panjang antara 1 hingga 512 karakter
* Tidak mengandung salah satu karakter <>%*&+?\\/
* Tidak diawali dengan azure, microsoft, atau windows
STRING Nilai dari tag. Panjang nilai harus kurang dari atau sama dengan 256 karakter UTF-8.

CronSchedule

Nama Bidang Jenis Deskripsi
quartz_cron_expression STRING Ekspresi Cron menggunakan sintaks Quartz yang menjelaskan jadwal untuk suatu pekerjaan. Lihat Cron Trigger untuk mengetahui detailnya. Bidang ini wajib diisi.
timezone_id STRING ID zona waktu Java. Jadwal untuk pekerjaan akan diselesaikan sehubungan dengan zona waktu ini. Lihat Java TimeZone untuk mengetahui detailnya. Bidang ini wajib diisi.
pause_status STRING Tunjukkan apakah jadwal ini dijeda atau tidak. Baik "DIJEDA" maupun "TIDAK DIJEDA".

DbfsStorageInfo

Informasi penyimpanan DBFS.

Nama Bidang Jenis Deskripsi
destination STRING Tujuan DBFS. Contoh: dbfs:/my/path

FileStorageInfo

Informasi penyimpanan file.

Catatan

Jenis lokasi ini hanya tersedia untuk kluster yang disiapkan menggunakan Databricks Container Services.

Nama Bidang Jenis Deskripsi
destination STRING Tujuan file. Contoh: file:/my/file.sh

InitScriptInfo

Jalur menuju skrip init.

Untuk petunjuk tentang penggunaan skrip init dengan Databricks Container Services, lihat Menggunakan skrip init.

Catatan

Jenis penyimpanan file (nama bidang: file) hanya tersedia untuk kluster yang disiapkan menggunakan Databricks Container Services. Lihat FileStorageInfo.

Nama Bidang Jenis Deskripsi
workspace ATAU
dbfs (tidak digunakan lagi)

ATAU
abfss
WorkspaceStorageInfo

DbfsStorageInfo (tidak digunakan lagi)

ABFSSStorageInfo
Lokasi ruang kerja skrip init. Tujuan harus disediakan. Contohnya,
{ "workspace" : { "destination" : "/Users/someone@domain.com/init_script.sh" } }

(Tidak digunakan lagi) Lokasi DBFS skrip init. Tujuan harus disediakan. Contohnya,
{ "dbfs" : { "destination" : "dbfs:/home/init_script" } }

Lokasi Azure Data Lake Storage (ADLS) skrip init. Tujuan harus disediakan. Misalnya: { "abfss": { "destination" : "abfss://..." } }

Pekerjaan

Nama Bidang Jenis Deskripsi
job_id INT64 Pengidentifikasi kanonik untuk pekerjaan ini.
creator_user_name STRING Nama pengguna pembuat. Bidang ini tidak akan disertakan dalam respons jika pengguna telah dihapus.
run_as STRING Nama pengguna untuk pekerjaan yang akan dijalankan. run_as didasarkan pada pengaturan pekerjaan saat ini, dan diatur ke pembuat pekerjaan jika kontrol akses pekerjaan dinonaktifkan, atau izin is_owner jika kontrol akses pekerjaan diaktifkan.
settings JobSettings Pengaturan untuk pekerjaan ini dan semua eksekusinya. Pengaturan ini dapat diperbarui menggunakan metode resetJob ini.
created_time INT64 Waktu saat pekerjaan ini dibuat dalam milidetik zaman (milidetik sejak 1/1/1970 UTC).

JobEmailNotifications

Penting

Bidang on_start, on_success dan on_failure hanya menerima karakter Latin (tataan karakter ASCII). Menggunakan karakter non-ASCII akan mengembalikan kesalahan. Contoh karakter non-ASCII yang tidak valid adalah bahasa Tionghoa, kanji Jepang, dan emoji.

Nama Bidang Jenis Deskripsi
on_start Array STRING Daftar alamat email yang akan diberitahukan saat eksekusi dimulai. Jika tidak ditentukan pada pembuatan, pengaturan ulang, atau pembaruan pekerjaan, daftar kosong, dan pemberitahuan tidak dikirim.
on_success Array STRING Daftar alamat email yang akan diberitahukan saat eksekusi berhasil diselesaikan. Eksekusi dianggap berhasil diselesaikan jika berakhir dengan TERMINATEDlife_cycle_state dan SUCCESSFULresult_state. Jika tidak ditentukan pada pembuatan, pengaturan ulang, atau pembaruan pekerjaan, daftar kosong, dan pemberitahuan tidak dikirim.
on_failure Array STRING Daftar alamat email yang akan diberitahukan saat eksekusi gagal. Eksekusi dianggap gagal jika berakhir dengan INTERNAL_ERROR
life_cycle_state atau SKIPPED, FAILED, atau TIMED_OUT result_state. Jika ini tidak ditentukan pada pembuatan pekerjaan, reset, atau pembaruan daftar kosong, dan pemberitahuan tidak dikirim.
on_duration_warning_threshold_exceeded Larik dari STRING Daftar alamat email yang akan diberi tahu ketika durasi eksekusi melebihi ambang batas yang ditentukan untuk RUN_DURATION_SECONDS metrik di health bidang . Jika tidak ada aturan untuk RUN_DURATION_SECONDS metrik yang ditentukan di health bidang untuk pekerjaan, pemberitahuan tidak dikirim.
no_alert_for_skipped_runs BOOL Jika benar, jangan mengirim email kepada penerima yang ditentukan dalam on_failure jika eksekusi dilewati.
Nama Bidang Jenis Deskripsi
on_start Array Webhook Daftar opsional tujuan sistem yang akan diberi tahu saat eksekusi dimulai. Jika tidak ditentukan pada pembuatan, pengaturan ulang, atau pembaruan pekerjaan, daftar kosong, dan pemberitahuan tidak dikirim. Maksimal 3 tujuan dapat ditentukan untuk on_start properti .
on_success Array Webhook Daftar opsional tujuan sistem yang akan diberi tahu ketika eksekusi berhasil diselesaikan. Eksekusi dianggap berhasil diselesaikan jika berakhir dengan TERMINATEDlife_cycle_state dan SUCCESSFULresult_state. Jika tidak ditentukan pada pembuatan, pengaturan ulang, atau pembaruan pekerjaan, daftar kosong, dan pemberitahuan tidak dikirim. Maksimal 3 tujuan dapat ditentukan untuk on_success properti .
on_failure Array Webhook Daftar opsional tujuan sistem yang akan diberi tahu ketika eksekusi selesai tidak berhasil. Eksekusi dianggap gagal jika berakhir dengan INTERNAL_ERROR
life_cycle_state atau SKIPPED, FAILED, atau TIMED_OUT result_state. Jika ini tidak ditentukan pada pembuatan pekerjaan, reset, atau pembaruan daftar kosong, dan pemberitahuan tidak dikirim. Maksimal 3 tujuan dapat ditentukan untuk on_failure properti .
on_duration_warning_threshold_exceeded Array Webhook Daftar opsional tujuan sistem yang akan diberi tahu ketika durasi eksekusi melebihi ambang batas yang ditentukan untuk RUN_DURATION_SECONDS metrik di health bidang . Maksimal 3 tujuan dapat ditentukan untuk on_duration_warning_threshold_exceeded properti .

JobNotification Pengaturan

Nama Bidang Jenis Deskripsi
no_alert_for_skipped_runs BOOL Jika true, jangan kirim pemberitahuan ke penerima yang ditentukan jika on_failure eksekusi dilewati.
no_alert_for_canceled_runs BOOL Jika true, jangan kirim pemberitahuan ke penerima yang ditentukan jika on_failure eksekusi dibatalkan.
alert_on_last_attempt BOOL Jika true, jangan kirim pemberitahuan ke penerima yang ditentukan untuk eksekusi yang dicoba on_start ulang dan jangan kirim pemberitahuan ke penerima yang ditentukan di on_failure hingga percobaan ulang terakhir eksekusi.

JobSettings

Penting

  • Saat Anda menjalankan pekerjaan di kluster pekerjaan baru, pekerjaan diperlakukan sebagai beban kerja Jobs Compute (otomatis) yang tunduk pada harga Jobs Compute.
  • Saat Anda menjalankan pekerjaan pada kluster serba guna yang ada, pekerjaan tersebut diperlakukan sebagai beban kerja All-Purpose Compute (interaktif) yang tunduk pada harga All-Purpose Compute.

Pengaturan untuk pekerjaan. Pengaturan ini dapat diperbarui menggunakan metode resetJob ini.

Nama Bidang Jenis Deskripsi
existing_cluster_id OR new_cluster STRING OR NewCluster Jika existing_cluster_id, ID dari kluster yang ada yang akan digunakan untuk semua eksekusi pekerjaan ini. Saat menjalankan pekerjaan di kluster yang ada, Anda mungkin perlu memulai ulang kluster secara manual jika berhenti merespons. Databricks menyarankan untuk menjalankan pekerjaan pada kluster baru untuk mendapatkan keandalan yang lebih besar.

Jika new_cluster, deskripsi kluster yang akan dibuat untuk setiap eksekusi.

Jika menentukan PipelineTask, bidang ini bisa dikosongkan.
notebook_taskATAU ATAU spark_jar_task
spark_python_taskATAU ATAU spark_submit_task
pipeline_task OR run_job_task
NotebookTask ATAU SparkJarTask ATAU SparkPythonTask ATAU SparkSubmitTask OR PipelineTask OR RunJobTask Jika notebook_task, menunjukkan bahwa pekerjaan ini harus menjalankan notebook. Bidang ini mungkin tidak ditentukan bersamaan dengan spark_jar_task.

Jika spark_jar_task, menunjukkan bahwa pekerjaan ini harus menjalankan JAR.

Jika spark_python_task, menunjukkan bahwa pekerjaan ini harus menjalankan file Python.

Jika spark_submit_task, menunjukkan bahwa pekerjaan ini harus diluncurkan oleh skrip pengiriman spark.

Jika pipeline_task, menunjukkan bahwa pekerjaan ini harus menjalankan alur Delta Live Tables.

Jika run_job_task, menunjukkan bahwa pekerjaan ini harus menjalankan pekerjaan lain.
name STRING Nama opsional untuk pekerjaan tersebut. Nilai defaultnya adalah Untitled.
libraries Array Pustaka Daftar pustaka yang akan diinstal di kluster yang akan menjalankan pekerjaan. Nilai default adalah daftar kosong.
email_notifications JobEmailNotifications Sekumpulan alamat email opsional yang akan diberitahukan saat eksekusi pekerjaan ini dimulai atau diselesaikan serta saat pekerjaan ini dihapus. Perilaku default adalah tidak mengirim email apa pun.
webhook_notifications WebhookNotifications Sekumpulan tujuan sistem opsional untuk diberi tahu ketika eksekusi pekerjaan ini dimulai, selesai, atau gagal.
notification_settings JobNotification Pengaturan Pengaturan pemberitahuan opsional yang digunakan saat mengirim pemberitahuan ke masing-masing email_notifications dan webhook_notifications untuk pekerjaan ini.
timeout_seconds INT32 Batas waktu opsional diterapkan untuk setiap eksekusi pekerjaan ini. Perilaku default adalah tidak memiliki batas waktu.
max_retries INT32 Jumlah maksimum opsional untuk mencoba kembali eksekusi yang gagal. Eksekusi dianggap tidak berhasil jika selesai dengan FAILED result_state atau
INTERNAL_ERROR
life_cycle_state. Nilai -1 berarti mencoba kembali tanpa batas waktu dan nilai 0 berarti tidak pernah mencoba kembali. Perilaku default adalah tidak pernah mencoba kembali.
min_retry_interval_millis INT32 Interval minimal opsional dalam milidetik di antara upaya. Perilaku default adalah bahwa eksekusi yang gagal segera dicoba kembali.
retry_on_timeout BOOL Kebijakan opsional untuk menentukan apakah akan mencoba kembali pekerjaan saat waktu habis. Perilaku default adalah tidak mencoba kembali pada batas waktu.
schedule CronSchedule Jadwal periodik opsional untuk pekerjaan ini. Perilaku default adalah bahwa pekerjaan hanya akan berjalan ketika dipicu dengan mengklik "Jalankan Sekarang" di UI Jobs atau mengirim permintaan API ke
runNow.
max_concurrent_runs INT32 Jumlah maksimum opsional yang diizinkan dari eksekusi pekerjaan bersamaan.

Atur nilai ini jika Anda ingin dapat menjalankan beberapa eksekusi dari pekerjaan yang sama secara bersamaan. Tindakan ini berguna misalnya jika Anda memicu pekerjaan Anda pada jadwal yang sering dan ingin memungkinkan eksekusi berturut-turut tumpang tindih satu sama lain, atau jika Anda ingin memicu beberapa eksekusi yang berbeda dengan parameter input-nya.

Pengaturan ini hanya memengaruhi proses baru. Misalnya, misalkan konkurensi pekerjaan adalah 4 dan ada 4 eksekusi aktif bersamaan. Kemudian, mengatur konkurensi ke 3 tidak akan menghapus salah satu eksekusi aktif. Namun, sejak saat itu, eksekusi baru akan dilewati kecuali ada kurang dari 3 eksekusi aktif.

Nilai ini tidak boleh melebihi 1000. Mengatur nilai ini ke 0 menyebabkan semua eksekusi baru akan dilewati. Perilaku default adalah hanya mengizinkan 1 kali eksekusi bersamaan.
health JobsHealthRules Sekumpulan aturan kesehatan opsional yang ditentukan untuk pekerjaan tersebut.

JobTask

Nama Bidang Jenis Deskripsi
notebook_taskATAU ATAU spark_jar_task
spark_python_taskATAU ATAU spark_submit_task
pipeline_task OR run_job_task
NotebookTask ATAU SparkJarTask ATAU SparkPythonTask ATAU SparkSubmitTask OR PipelineTask OR RunJobTask Jika notebook_task, menunjukkan bahwa pekerjaan ini harus menjalankan notebook. Bidang ini mungkin tidak ditentukan bersamaan dengan spark_jar_task.

Jika spark_jar_task, menunjukkan bahwa pekerjaan ini harus menjalankan JAR.

Jika spark_python_task, menunjukkan bahwa pekerjaan ini harus menjalankan file Python.

Jika spark_submit_task, menunjukkan bahwa pekerjaan ini harus diluncurkan oleh skrip pengiriman spark.

Jika pipeline_task, menunjukkan bahwa pekerjaan ini harus menjalankan alur Delta Live Tables.

Jika run_job_task, menunjukkan bahwa pekerjaan ini harus menjalankan pekerjaan lain.

JobsHealthRule

Nama Bidang Jenis Deskripsi
metric STRING Menentukan metrik kesehatan yang sedang dievaluasi untuk aturan kesehatan tertentu. Nilai yang valid adalah RUN_DURATION_SECONDS.
operator STRING Menentukan operator yang digunakan untuk membandingkan nilai metrik kesehatan dengan ambang yang ditentukan. Nilai yang valid adalah GREATER_THAN.
value INT32 Menentukan nilai ambang batas yang harus dipenuhi metrik kesehatan untuk mematuhi aturan kesehatan.

JobsHealthRules

Nama Bidang Jenis Deskripsi
rules Array JobsHealthRule Sekumpulan aturan kesehatan opsional yang dapat didefinisikan untuk pekerjaan.

Pustaka

Nama Bidang Jenis Deskripsi
jarATAU ATAU egg ATAU whl
pypiATAU ATAU mavencran
STRING OR STRING OR STRING OR PythonPyPiLibrary OR MavenLibrary OR RCranLibrary Jika jar, URI JAR yang akan diinstal. URI DBFS dan ADLS (abfss) didukung. Misalnya: { "jar": "dbfs:/mnt/databricks/library.jar" } atau
{ "jar": "abfss://<container-path>/library.jar" }. Jika ADLS digunakan, pastikan bahwa kluster memiliki akses baca di pustaka.

Jika egg, URI egg yang akan diinstal. URI DBFS dan ADLS didukung. Misalnya: { "egg": "dbfs:/my/egg" } atau
{ "egg": "abfss://<container-path>/egg" }.

Jika whl, URI wheel atau zip yang wheels akan diinstal. URI DBFS dan ADLS didukung. Misalnya: { "whl": "dbfs:/my/whl" } atau
{ "whl": "abfss://<container-path>/whl" }. Jika ADLS digunakan, pastikan bahwa kluster memiliki akses baca di pustaka. wheel Juga nama file perlu menggunakan konvensi yang benar. Jika zip wheels harus diinstal, akhiran nama file harus .wheelhouse.zip.

Jika pypi, spesifikasi pustaka PyPI yang akan diinstal. Menentukan bidang repo bersifat opsional dan jika tidak ditentukan, indeks pip default digunakan. Contohnya:
{ "package": "simplejson", "repo": "https://my-repo.com" }

Jika maven, spesifikasi pustaka Maven yang akan diinstal. Contohnya:
{ "coordinates": "org.jsoup:jsoup:1.7.2" }

Jika cran, spesifikasi pustaka CRAN yang akan diinstal.

MavenLibrary

Nama Bidang Jenis Deskripsi
coordinates STRING Koordinat Maven bergaya Gradle. Misalnya: org.jsoup:jsoup:1.7.2. Bidang ini wajib diisi.
repo STRING Repositori Maven sebagai tempat untuk menginstal paket Maven. Jika dihilangkan, baik Maven Central Repository dan Spark Packages akan dicari.
exclusions Larik dari STRING Daftar dependensi yang dikecualikan. Misalnya: ["slf4j:slf4j", "*:hadoop-client"].

Pengecualian dependensi Maven: https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html.

NewCluster

Nama Bidang Jenis Deskripsi
num_workers OR autoscale INT32 OR Skala Otomatis Jika num_workers, jumlah node pekerja yang seharusnya dimiliki oleh kluster ini. Kluster memiliki satu Spark Driver dan num_workers Executors dengan total num_workers + 1 node Spark.

Catatan: Saat membaca properti kluster, bidang ini mencerminkan jumlah pekerja yang diinginkan daripada jumlah pekerja saat ini yang sebenarnya. Contohnya, jika kluster diubah ukurannya dari 5 menjadi 10 pekerja, bidang ini akan langsung diperbarui untuk mencerminkan ukuran target 10 pekerja, sedangkan pekerja yang terdaftar di spark_info secara bertahap akan meningkat dari 5 ke 10 saat node baru disediakan.

Jika menskalakan otomatis, parameter diperlukan untuk secara otomatis menskalakan kluster ke atas dan ke bawah sesuai muatan.
spark_version STRING Versi Spark dari kluster. Daftar versi Spark yang tersedia dapat diambil dengan menggunakan panggilan GET 2.0/clusters/spark-versions . Bidang ini wajib diisi.
spark_conf SparkConfPair Objek yang berisi set pasangan kunci-nilai konfigurasi Spark opsional yang ditentukan pengguna. Anda juga dapat meneruskan string opsi JVM tambahan ke driver dan eksekutor melalui
masing-masing spark.driver.extraJavaOptions dan spark.executor.extraJavaOptions.

Contoh konf Spark:
{"spark.speculation": true, "spark.streaming.ui.retainedBatches": 5} atau
{"spark.driver.extraJavaOptions": "-verbose:gc -XX:+PrintGCDetails"}
node_type_id STRING Bidang ini mengkodekan, melalui satu nilai, sumber daya yang tersedia untuk masing-masing node Spark di kluster ini. Misalnya, simpul Spark dapat disediakan dan dioptimalkan untuk memori atau komputasi beban kerja intensif Daftar jenis node yang tersedia dapat diambil dengan menggunakan panggilan GET 2.0/clusters/list-node-type . Bidang ini, instance_pool_id bidang, atau kebijakan kluster yang menentukan ID jenis node atau ID kumpulan instans, diperlukan.
driver_node_type_id STRING Jenis node dari driver Spark. Bidang ini bersifat opsional; jika tidak diatur, jenis node driver diatur dengan nilai yang sama seperti node_type_id yang ditentukan di atas.
custom_tags ClusterTag Objek yang berisi set tag untuk sumber daya kluster. Databricks mengetag semua sumber daya kluster (seperti VM) dengan tag ini selain dengan default_tags.

Catatan:

* Tag tidak didukung pada jenis node lama seperti yang dioptimalkan komputasi dan dioptimalkan memori
Azure Databricks mengizinkan hingga 45 tag kustom
cluster_log_conf ClusterLogConf Konfigurasi untuk pengiriman log Spark ke tujuan penyimpanan jangka panjang. Hanya satu tujuan yang dapat ditentukan untuk satu kluster. Jika konf diberikan, log akan dikirimkan ke tujuan setiap 5 mins. Tujuan log driver adalah <destination>/<cluster-id>/driver, sedangkan tujuan log eksekutor adalah <destination>/<cluster-id>/executor.
init_scripts Larik dari InitScriptInfo Konfigurasi untuk penyimpanan skrip init. Skrip dapat ditentukan berapa pun jumlahnya. Skrip dijalankan secara berurutan dalam urutan yang disediakan. Jika cluster_log_conf ditentukan, log skrip init dikirimkan ke
<destination>/<cluster-id>/init_scripts.
spark_env_vars SparkEnvPair Objek yang berisi set pasangan kunci-nilai variabel lingkungan opsional yang ditentukan pengguna. Pasangan nilai kunci dari formulir (X, Y) diekspor apa adanya (yaitu,
export X='Y') sembari meluncurkan driver dan pekerja.

Untuk menentukan set SPARK_DAEMON_JAVA_OPTS tambahan, sebaiknya ditambahkan ke $SPARK_DAEMON_JAVA_OPTS seperti yang ditunjukkan dalam contoh berikut. Ini untuk memastikan agar semua variabel lingkungan terkelola databricks default juga disertakan.

Contoh variabel lingkungan Spark:
{"SPARK_WORKER_MEMORY": "28000m", "SPARK_LOCAL_DIRS": "/local_disk0"} atau
{"SPARK_DAEMON_JAVA_OPTS": "$SPARK_DAEMON_JAVA_OPTS -Dspark.shuffle.service.enabled=true"}
enable_elastic_disk BOOL Penskalaan Otomatis Penyimpanan Lokal: ketika diaktifkan, kluster ini akan secara dinamis memperoleh ruang disk tambahan ketika pekerja Spark-nya kekurangan ruang disk. Lihat Mengaktifkan penyimpanan lokal penskalaan otomatis untuk detailnya.
driver_instance_pool_id STRING ID opsional dari kumpulan instans yang akan digunakan untuk node driver. Anda juga harus menentukan instance_pool_id. Lihat API Kumpulan Instans untuk detailnya.
instance_pool_id STRING ID opsional dari pool instans yang digunakan untuk node kluster. Jika driver_instance_pool_id ada,
instance_pool_id hanya digunakan untuk node pekerja. Jika tidak, ini digunakan untuk node driver dan node pekerja. Lihat API Kumpulan Instans untuk detailnya.

NotebookOutput

Nama Bidang Jenis Deskripsi
result STRING Nilai diteruskan ke dbutils.notebook.exit(). Azure Databricks membatasi API ini untuk mengembalikan nilai 1 MB pertama. Untuk hasil yang lebih besar, pekerjaan Anda dapat menyimpan hasilnya di layanan penyimpanan cloud. Bidang ini akan absen jika dbutils.notebook.exit() tidak pernah dipanggil.
truncated BOOLEAN Apakah hasilnya dipotong atau tidak.

NotebookTask

Semua sel output tunduk pada ukuran 8 MB. Jika output sel memiliki ukuran yang lebih besar, sisa eksekusi akan dibatalkan dan eksekusi akan ditandai sebagai gagal. Dalam hal ini, beberapa output konten dari sel lain mungkin juga hilang.

Jika Anda memerlukan bantuan untuk menemukan sel yang berada di luar batas, jalankan notebook terhadap kluster serba guna dan gunakan teknik simpan otomatis notebook ini.

Nama Bidang Jenis Deskripsi
notebook_path STRING Jalur mutlak notebook yang akan dijalankan di ruang kerja Azure Databricks. Jalur ini harus dimulai dengan garis miring. Bidang ini wajib diisi.
revision_timestamp LONG Stempel waktu revisi notebook.
base_parameters Peta ParamPair Parameter dasar yang akan digunakan untuk setiap eksekusi pekerjaan ini. Jika eksekusi dimulai dengan panggilan ke run-now dengan parameter yang ditentukan, dua peta parameter akan digabungkan. Jika kunci yang sama ditentukan dalam base_parameters dan dalam run-now, nilai dari run-now akan digunakan.

Gunakan konteks Pass tentang pekerjaan yang dijalankan ke tugas pekerjaan untuk mengatur parameter yang berisi informasi tentang eksekusi pekerjaan.

Jika notebook mengambil parameter yang tidak ditentukan dalam base_parameters pekerjaan atau run-now mengganti parameter, nilai default dari notebook akan digunakan.

Ambil parameter ini di notebook menggunakan dbutils.widgets.get.

ParamPair

Parameter berbasis nama untuk pekerjaan yang menjalankan tugas notebook.

Penting

Bidang dalam struktur data ini hanya menerima karakter Latin (tataan karakter ASCII). Menggunakan karakter non-ASCII akan mengembalikan kesalahan. Contoh karakter non-ASCII yang tidak valid adalah kanji Tiongkok, Jepang, dan emoji.

Jenis Deskripsi
STRING Nama parameter. Teruskan ke dbutils.widgets.get untuk mengambil nilai.
STRING Nilai parameter.

PipelineTask

Nama Bidang Jenis Deskripsi
pipeline_id STRING Nama lengkap tugas alur Delta Live Tables yang akan dijalankan.

PythonPyPiLibrary

Nama Bidang Jenis Deskripsi
package STRING Nama paket PyPI untuk yang akan diinstal. Spesifikasi versi opsional yang sama juga didukung. Contoh: simplejson dan simplejson==3.8.0. Bidang ini wajib diisi.
repo STRING Repositori tempat paket dapat ditemukan. Jika tidak ditentukan, indeks pip default digunakan.

RCranLibrary

Nama Bidang Jenis Deskripsi
package STRING Nama paket CRAN yang akan diinstal. Bidang ini wajib diisi.
repo STRING Repositori tempat paket dapat ditemukan. Jika tidak ditentukan, repositori CRAN default digunakan.

Eksekusi

Semua informasi tentang eksekusi kecuali untuk output-nya. Output dapat diambil secara terpisah dengan metode getRunOutput.

Nama Bidang Jenis Deskripsi
job_id INT64 Pengidentifikasi kanonik dari pekerjaan yang berisi eksekusi ini.
run_id INT64 Pengidentifikasi kanonik dari eksekusi. ID ini bersifat unik di semua pekerjaan.
creator_user_name STRING Nama pengguna pembuat. Bidang ini tidak akan disertakan dalam respons jika pengguna telah dihapus.
number_in_job INT64 Nomor urut eksekusi ini di antara semua eksekusi pekerjaan. Nilai ini dimulai dari 1.
original_attempt_run_id INT64 Jika eksekusi ini adalah percobaan ulang dari upaya eksekusi sebelumnya, bidang ini berisi run_id dari upaya awal; jika tidak, bidang ini sama dengan run_id.
state RunState Hasil dan status siklus hidup eksekusi.
schedule CronSchedule Jadwal cron yang memicu eksekusi ini jika dipicu oleh penjadwal periodik.
task JobTask Tugas yang dilakukan oleh eksekusi, jika ada.
cluster_spec ClusterSpec Snapshot dari spesifikasi kluster pekerjaan saat eksekusi ini dibuat.
cluster_instance ClusterInstance Kluster yang digunakan untuk eksekusi ini. Jika eksekusi ditentukan untuk menggunakan kluster baru, bidang ini akan diatur setelah layanan Jobs meminta kluster eksekusi.
overriding_parameters RunParameters Parameter yang digunakan untuk eksekusi ini.
start_time INT64 Waktu saat eksekusi ini dimulai dalam milidetik zaman (milidetik sejak 1/1/1970 UTC). Ini mungkin bukan waktu saat tugas pekerjaan mulai dijalankan, misalnya, jika pekerjaan dijadwalkan untuk berjalan pada kluster baru, ini adalah saat panggilan pembuatan kluster dilakukan.
setup_duration INT64 Waktu yang dibutuhkan untuk mengatur kluster dalam milidetik. Untuk eksekusi yang berjalan pada kluster baru ini adalah waktu pembuatan kluster, untuk eksekusi yang berjalan pada kluster yang ada, waktu ini harus sangat singkat.
execution_duration INT64 Waktu dalam milidetik yang diperlukan untuk menjalankan perintah di JAR atau notebook sampai proses selesai, gagal, waktunya habis, dibatalkan, atau mengalami kesalahan yang tidak terduga.
cleanup_duration INT64 Waktu dalam milidetik yang dibutuhkan untuk menghentikan kluster dan menghapus artefak terkait. Total durasi eksekusi adalah jumlah setup_duration, execution_duration, dan cleanup_duration.
end_time INT64 Waktu saat eksekusi ini berakhir dengan milidetik zaman (milidetik sejak 1/1/1970 UTC). Bidang ini akan diatur ke 0 jika pekerjaan masih berjalan.
trigger TriggerType Jenis pemicu yang mengaktifkan eksekusi ini.
run_name STRING Nama opsional untuk eksekusi. Nilai defaultnya adalah Untitled. Panjang maksimum yang diizinkan adalah 4096 byte dalam pengodean UTF-8.
run_page_url STRING URL ke halaman detail eksekusi.
run_type STRING Jenis eksekusi.

* JOB_RUN - Eksekusi pekerjaan normal. Eksekusi yang dibuat dengan Jalankan sekarang.
* WORKFLOW_RUN - Eksekusi alur kerja. Eksekusi yang dibuat dengan dbutils.notebook.run.
* SUBMIT_RUN - Kirimkan eksekusi. Eksekusi yang dibuat dengan Jalankan sekarang.
attempt_number INT32 Nomor urut dari upaya eksekusi ini untuk eksekusi pekerjaan yang dipicu. Upaya awal eksekusi memiliki attempt_number 0. Jika upaya eksekusi awal gagal, dan pekerjaan memiliki kerbijakan percobaan kembali (max_retries> 0), eksekusi berikutnya dibuat dengan original_attempt_run_id ID upaya asli dan peningkatan attempt_number. Eksekusi dicoba kembali hanya hingga berhasil, dan maksimum attempt_number sama dengan nilai max_retries untuk pekerjaan tersebut.

RunJobTask

Nama Bidang Jenis Deskripsi
job_id INT32 Pengidentifikasi unik pekerjaan yang akan dijalankan. Bidang ini wajib diisi.

RunLifeCycleState

Status siklus hidup dari eksekusi. Transisi status yang diizinkan adalah:

  • PENDING - Apa>RUNNING yang>TERMINATING kau bisa?>TERMINATED
  • PENDING ->SKIPPED
  • PENDING ->INTERNAL_ERROR
  • RUNNING ->INTERNAL_ERROR
  • TERMINATING ->INTERNAL_ERROR
Provinsi Deskripsi
PENDING Eksekusi telah dipicu. Jika belum ada eksekusi aktif dari pekerjaan yang sama, kluster dan konteks eksekusi sedang disiapkan. Jika sudah ada eksekusi pekerjaan aktif yang sama, eksekusi akan segera beralih ke status SKIPPED tanpa menyiapkan sumber daya apa pun.
RUNNING Tugas eksekusi ini sedang dijalankan.
TERMINATING Tugas eksekusi ini telah selesai, dan kluster dan konteks eksekusi sedang dibersihkan.
TERMINATED Tugas eksekusi ini telah selesai, dan kluster dan konteks eksekusi telah dibersihkan. Status ini adalah terminal.
SKIPPED Eksekusi ini dibatalkan karena eksekusi sebelumnya dari pekerjaan yang sama sudah aktif. Status ini adalah terminal.
INTERNAL_ERROR Status luar biasa yang menunjukkan kegagalan dalam layanan Jobs, seperti kegagalan jaringan dalam jangka waktu yang lama. Jika menjalankan pada kluster baru berakhir di status INTERNAL_ERROR, layanan Jobs menghentikan kluster sesegera mungkin. Status ini adalah terminal.

RunParameters

Parameter untuk eksekusi ini. Hanya satu dari jar_params, python_params, atau notebook_params yang harus ditentukan dalam permintaan run-now, tergantung pada jenis tugas pekerjaan. Pekerjaan dengan tugas Spark JAR atau tugas Python mengambil daftar parameter berbasis posisi, dan pekerjaan dengan tugas notebook mengambil peta nilai kunci.

Nama Bidang Jenis Deskripsi
jar_params Array STRING Daftar parameter untuk pekerjaan dengan tugas Spark JAR, misalnya "jar_params": ["john doe", "35"]. Parameter akan digunakan untuk memanggil fungsi utama dari kelas utama yang ditentukan dalam tugas JAR Spark. Jika tidak ditentukan pada run-now, pengaturannya akan ditentukan secara default ke daftar kosong. jar_params tidak dapat ditentukan bersama dengan notebook_params. Representasi JSON dari bidang ini (yaitu {"jar_params":["john doe","35"]}) tidak dapat melebihi 10.000 byte.

Gunakan konteks Pass tentang pekerjaan yang dijalankan ke tugas pekerjaan untuk mengatur parameter yang berisi informasi tentang eksekusi pekerjaan.
notebook_params Peta ParamPair Misalnya, peta dari kunci ke nilai untuk pekerjaan dengan tugas notebook.
"notebook_params": {"name": "john doe", "age": "35"}. Peta diteruskan ke notebook dan dapat diakses melalui fungsi dbutils.widgets.get.

Jika tidak ditentukan pada run-now, eksekusi yang dipicu akan menggunakan parameter dasar pekerjaan.

notebook_params tidak dapat ditentukan bersamaan dengan jar_params.

Gunakan konteks Pass tentang pekerjaan yang dijalankan ke tugas pekerjaan untuk mengatur parameter yang berisi informasi tentang eksekusi pekerjaan.

Representasi JSON dari bidang ini (yaitu
{"notebook_params":{"name":"john doe","age":"35"}}) tidak boleh melebihi 10.000 byte.
python_params Array STRING Daftar parameter untuk pekerjaan dengan tugas Python, misalnya "python_params": ["john doe", "35"]. Parameter diteruskan ke file Python sebagai parameter baris perintah. Jika ditentukan pada run-now, pengaturannya akan menimpa parameter yang ditentukan dalam pengaturan pekerjaan. Representasi JSON dari bidang ini (yaitu {"python_params":["john doe","35"]}) tidak dapat melebihi 10.000 byte.

Gunakan konteks Pass tentang pekerjaan yang dijalankan ke tugas pekerjaan untuk mengatur parameter yang berisi informasi tentang eksekusi pekerjaan.

> [!IMPORTANT] >> Parameter ini hanya menerima karakter Latin (tataan karakter ASCII). > Menggunakan karakter non-ASCII akan mengembalikan kesalahan. Contoh karakter non-ASCII yang tidak valid > adalah bahasa China, kanji Jepang, dan emoji.
spark_submit_params Array STRING Daftar parameter untuk pekerjaan dengan tugas pengiriman spark, misalnya.
"spark_submit_params": ["--class", "org.apache.spark.examples.SparkPi"]. Parameter diteruskan ke skrip spark-submit sebagai parameter baris perintah. Jika ditentukan pada run-now, pengaturannya akan menimpa parameter yang ditentukan dalam pengaturan pekerjaan. Representasi JSON dari bidang ini (yaitu {"python_params":["john doe","35"]}) tidak dapat melebihi 10.000 byte.

Gunakan konteks Pass tentang pekerjaan yang dijalankan ke tugas pekerjaan untuk mengatur parameter yang berisi informasi tentang eksekusi pekerjaan.

> [!IMPORTANT] >> Parameter ini hanya menerima karakter Latin (tataan karakter ASCII). > Menggunakan karakter non-ASCII akan mengembalikan kesalahan. Contoh karakter non-ASCII yang tidak valid > adalah bahasa China, kanji Jepang, dan emoji.

RunResultState

Status hasil dari eksekusi.

  • Jika life_cycle_state = TERMINATED: jika eksekusi memiliki tugas, hasilnya dijamin tersedia, dan menunjukkan hasil tugas.
  • Jika life_cycle_state = PENDING, RUNNING, atau SKIPPED, status hasil tidak tersedia.
  • Jika life_cycle_state = TERMINATING atau lifecyclestate = INTERNAL_ERROR: status hasil tersedia jika eksekusi memiliki tugas dan berhasil memulainya.

Setelah tersedia, status hasil tidak pernah berubah.

Provinsi Deskripsi
SUCCESS Tugas berhasil diselesaikan.
FAILED Tugas selesai dengan kesalahan.
TIMEDOUT Eksekusi dihentikan setelah mencapai batas waktu.
CANCELED Eksekusi dibatalkan atas permintaan pengguna.

RunState

Nama Bidang Jenis Deskripsi
life_cycle_state RunLifeCycleState Deskripsi lokasi eksekusi saat ini dalam siklus hidup eksekusi. Bidang ini selalu tersedia dalam respons.
result_state RunResultState Status hasil dari eksekusi. Jika tidak tersedia, respons tidak akan menyertakan bidang ini. Lihat RunResultState untuk detail tentang ketersediaan result_state.
user_cancelled_or_timedout BOOLEAN Apakah eksekusi dibatalkan secara manual oleh pengguna atau oleh penjadwal karena eksekusi habis waktunya.
state_message STRING Pesan deskriptif untuk status saat ini. Bidang ini tidak terstruktur, dan format pastinya dapat berubah.

SparkConfPair

Pasangan kunci-nilai konfigurasi Spark.

Jenis Deskripsi
STRING Nama properti konfigurasi.
STRING Nilai properti konfigurasi.

SparkEnvPair

Pasangan kunci-nilai variabel lingkungan Spark.

Penting

Ketika menentukan variabel lingkungan dalam kluster pekerjaan, bidang dalam struktur data ini hanya menerima karakter Latin (set karakter ASCII). Penggunaan karakter non-ASCII akan menampilkan kesalahan. Contoh karakter non-ASCII yang tidak valid adalah kanji Tiongkok, Jepang, dan emoji.

Jenis Deskripsi
STRING Nama variabel lingkungan.
STRING Nilai variabel lingkungan.

SparkJarTask

Nama Bidang Jenis Deskripsi
jar_uri STRING Tidak digunakan lagi sejak 04/2016. Berikan jar melalui bidang libraries sebagai gantinya. Sebagai contoh, lihat Buat.
main_class_name STRING Nama lengkap kelas yang berisi metode utama yang akan dijalankan. Kelas ini harus terkandung dalam JAR yang disediakan sebagai pustaka.

Kode harus menggunakan SparkContext.getOrCreate untuk mendapatkan konteks Spark; jika tidak, pekerjaan akan gagal.
parameters Array STRING Parameter yang akan diteruskan ke metode utama.

Gunakan konteks Pass tentang pekerjaan yang dijalankan ke tugas pekerjaan untuk mengatur parameter yang berisi informasi tentang eksekusi pekerjaan.

SparkPythonTask

Nama Bidang Jenis Deskripsi
python_file STRING URI file Python yang akan dieksekusi. Hanya jalur DBFS yang didukung. Bidang ini wajib diisi.
parameters Array STRING Parameter baris perintah yang akan diteruskan ke file Python.

Gunakan konteks Pass tentang pekerjaan yang dijalankan ke tugas pekerjaan untuk mengatur parameter yang berisi informasi tentang eksekusi pekerjaan.

SparkSubmitTask

Penting

  • Anda dapat memanggil tugas pengiriman Spark hanya pada kluster baru.
  • Dalam spesifikasi new_cluster, libraries dan spark_conf tidak didukung. Gunakan --jars dan --py-files untuk menambahkan pustaka Java dan Python serta --conf untuk mengatur konfigurasi Spark.
  • master, deploy-mode, dan executor-cores secara otomatis dikonfigurasi oleh Azure Databricks; Anda tidak dapat menentukannya dalam parameter.
  • Secara default, pekerjaan pengiriman Spark menggunakan semua memori yang tersedia (tidak termasuk memori cadangan untuk layanan Azure Databricks). Anda dapat mengatur --driver-memory, dan --executor-memory ke nilai yang lebih kecil untuk meninggalkan beberapa ruang untuk penggunaan off-heap.
  • Argumen --jars, --py-files, --files mendukung jalur DBFS.

Misalnya, dengan asumsi JAR diunggah ke DBFS, Anda dapat menjalankan SparkPi dengan mengatur parameter berikut.

{
  "parameters": [
    "--class",
    "org.apache.spark.examples.SparkPi",
    "dbfs:/path/to/examples.jar",
    "10"
  ]
}
Nama Bidang Jenis Deskripsi
parameters Array STRING Parameter baris perintah diteruskan ke pengiriman spark.

Gunakan konteks Pass tentang pekerjaan yang dijalankan ke tugas pekerjaan untuk mengatur parameter yang berisi informasi tentang eksekusi pekerjaan.

TriggerType

Ini adalah jenis pemicu yang dapat mengaktifkan eksekusi.

Jenis Deskripsi
PERIODIC Jadwal yang secara berkala memicu eksekusi, seperti penjadwal cron.
ONE_TIME Pemicu satu kali yang mengaktifkan eksekusi tunggal. Hal ini terjadi saat Anda memicu satu eksekusi sesuai permintaan melalui UI atau API.
RETRY Menunjukkan eksekusi yang dipicu sebagai coba lagi dari eksekusi yang sebelumnya gagal. Ini terjadi ketika Anda meminta untuk menjalankan kembali pekerjaan jika terjadi kegagalan.

ViewItem

Konten yang diekspor dalam format HTML. Misalnya, jika tampilan yang akan diekspor adalah dasbor, satu string HTML dikembalikan untuk setiap dasbor.

Nama Bidang Jenis Deskripsi
content STRING Konten tampilan.
name STRING Nama item tampilan. Dalam kasus tampilan kode, nama notebook. Dalam kasus tampilan dasbor, nama dasbor.
type ViewType Jenis item tampilan.

ViewType

Jenis Deskripsi
NOTEBOOK Item tampilan notebook.
DASHBOARD Item tampilan dasbor.

ViewsToExport

Lihat untuk mengekspor: baik kode, semua dasbor, maupun semua.

Jenis Deskripsi
CODE Tampilan kode notebook.
DASHBOARDS Semua tampilan dasbor notebook.
ALL Semua tampilan notebook.

Webhook

Nama Bidang Jenis Deskripsi
id STRING Pengidentifikasi mereferensikan tujuan pemberitahuan sistem. Bidang ini wajib diisi.

WebhookNotifications

Nama Bidang Jenis Deskripsi
on_start Array Webhook Daftar opsional tujuan sistem yang akan diberi tahu saat eksekusi dimulai. Jika tidak ditentukan pada pembuatan, pengaturan ulang, atau pembaruan pekerjaan, daftar kosong, dan pemberitahuan tidak dikirim. Maksimal 3 tujuan dapat ditentukan untuk on_start properti .
on_success Array Webhook Daftar opsional tujuan sistem yang akan diberi tahu ketika eksekusi berhasil diselesaikan. Eksekusi dianggap berhasil diselesaikan jika berakhir dengan TERMINATEDlife_cycle_state dan SUCCESSFULresult_state. Jika tidak ditentukan pada pembuatan, pengaturan ulang, atau pembaruan pekerjaan, daftar kosong, dan pemberitahuan tidak dikirim. Maksimal 3 tujuan dapat ditentukan untuk on_success properti .
on_failure Array Webhook Daftar opsional tujuan sistem yang akan diberi tahu ketika eksekusi selesai tidak berhasil. Eksekusi dianggap gagal jika berakhir dengan INTERNAL_ERROR
life_cycle_stateSKIPPEDatau , FAILED, atau TIMED_OUTresult_state. Jika ini tidak ditentukan pada pembuatan pekerjaan, reset, atau pembaruan daftar kosong, dan pemberitahuan tidak dikirim. Maksimal 3 tujuan dapat ditentukan untuk on_failure properti .
on_duration_warning_threshold_exceeded Array Webhook Daftar opsional tujuan sistem yang akan diberi tahu ketika durasi eksekusi melebihi ambang batas yang ditentukan untuk RUN_DURATION_SECONDS metrik di health bidang . Maksimal 3 tujuan dapat ditentukan untuk on_duration_warning_threshold_exceeded properti .

WorkspaceStorageInfo

Informasi penyimpanan ruang kerja.

Nama Bidang Jenis Deskripsi
destination STRING Tujuan file. Contoh: /Users/someone@domain.com/init_script.sh