Bagikan melalui


Jobs API 2.0

Penting

Artikel ini mendikumentasikan versi 2.0 dari Jobs API. Namun, Databricks merekomendasikan agar Anda menggunakan Jobs API 2.2 untuk klien dan skrip baru dan yang sudah ada. Untuk informasi lebih lanjut tentang perubahan di Jobs API versi 2.2, lihat Memperbarui dari Jobs API 2.1 ke 2.2.

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

Untuk mempelajari tentang fungsionalitas yang diperbarui dalam versi API Pekerjaan yang lebih baru, lihat Memperbarui dari Jobs API 2.0 ke 2.1 dan Memperbarui dari Jobs API 2.1 ke 2.2.

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.

Permintaan

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> menggunakan nama instans ruang kerja Azure Databricks, misalnya adb-1234567890123456.7.azuredatabricks.net.
  • Isi create-job.json dengan bidang-bidang yang sesuai untuk solusi Anda.

Contoh ini menggunakan file .netrc dan jq.

Tanggapan

{
  "job_id": 1
}

Struktur permintaan

Penting

  • Saat Anda menjalankan pekerjaan di kluster pekerjaan baru, pekerjaan tersebut 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 ATAU 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. Disarankan menjalankan tugas pada kluster baru untuk meningkatkan keandalan.
Jika new_cluster, deskripsi kluster yang akan dibuat untuk setiap eksekusi.
Jika menentukan PipelineTask, bidang ini bisa dikosongkan.
notebook_task ATAU spark_jar_task
spark_python_task ATAU spark_submit_task
pipeline_task ATAU run_job_task
NotebookTask ATAU SparkJarTask ATAU SparkPythonTask ATAU SparkSubmitTask OR PipelineTask OR RunJobTask Jika notebook_task, menunjukkan bahwa pekerjaan ini harus menjalankan sebuah notebook. Bidang ini mungkin tidak ditentukan bersamaan dengan spark_jar_task.
Jika 'spark_jar_task', menunjukkan bahwa tugas ini harus menjalankan JAR.
Jika spark_python_task, menunjukkan bahwa pekerjaan ini harus menjalankan file Python.
Jika spark_submit_task digunakan, ini menunjukkan bahwa pekerjaan ini harus diluncurkan oleh skrip spark submit.
Jika pipeline_task, menandakan bahwa pekerjaan ini seharusnya menjalankan pipeline DLT.
Jika run_job_task, mengindikasikan bahwa tugas ini harus menjalankan tugas lain.
name STRING Nama opsional untuk pekerjaan tersebut. Nilai defaultnya adalah Untitled.
libraries Kumpulan Pustaka Daftar pustaka opsional yang akan diinstal di kluster yang akan menjalankan tugas. Nilai default adalah daftar kosong.
email_notifications PemberitahuanEmailPekerjaan Sekumpulan alamat email opsional yang diberitahukan saat pelaksanaan pekerjaan ini dimulai dan selesai, serta 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 PengaturanNotifikasiPekerjaan 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 berapa kali untuk melakukan ulang 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 upaya yang gagal langsung diulang.
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 defaultnya adalah pekerjaan berjalan ketika dipicu dengan mengklik Jalankan sekarang di antarmuka pengguna Pekerjaan atau mengirim permintaan API ke runNow.
max_concurrent_runs INT32 Jumlah maksimum eksekusi pekerjaan bersamaan yang diizinkan, jika diperlukan.
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 eksekusi baru. Misalnya, misalkan tugas memiliki konkurensi sebanyak 4 dan ada 4 eksekusi aktif yang berjalan. Kemudian, mengatur tingkat kesamaan ke 3 tidak akan menghentikan salah satu dari eksekusi yang sedang berjalan. Namun, mulai dari situ, jalinan baru akan dilewati kecuali ada kurang dari 3 jalinan aktif.
Nilai ini tidak boleh melebihi 1000. Menyetel nilai ini ke 0 menyebabkan semua eksekusi baru diabaikan. Perilaku default adalah hanya mengizinkan 1 kali eksekusi bersamaan.

Struktur respons

Nama Bidang Jenis Deskripsi
job_id INT64 Pengidentifikasi yang standar untuk tugas yang baru dibuat.

Daftar

Titik akhir Metode HTTP
2.0/jobs/list GET

Mencantumkan semua pekerjaan.

Contoh

Permintaan

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.

Tanggapan

{
  "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 Sekumpulan 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, proses yang berjalan sebelum permintaan ini diterima mungkin masih berjalan. Mereka 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 Azure Databricks nama instans ruang kerja, 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 tugas yang akan dihapus. Bidang ini wajib diisi.

Dapatkan

Titik akhir Metode HTTP
2.0/jobs/get GET

Ambil informasi tentang satu lowongan kerja.

Contoh

Permintaan

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.

Tanggapan

{
  "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 standar dari pekerjaan untuk mendapatkan informasi mengenai hal itu. Bidang ini wajib diisi.

Struktur respons

Nama Bidang Jenis Deskripsi
job_id INT64 Pengidentifikasi kanonik untuk pekerjaan ini.
creator_user_name STRING Nama pengguna pencipta. Bidang ini tidak akan disertakan dalam respons jika pengguna telah dihapus.
settings JobSettings Pengaturan untuk pekerjaan ini dan semua pelaksanaannya. Pengaturan ini dapat diperbarui menggunakan endpoint Reset atau Update.
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 endpoint Update untuk memperbarui pengaturan tugas 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.
  • Isi reset-job.json dengan bidang-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 di-reset. Bidang ini wajib diisi.
new_settings JobSettings Pengaturan baru pekerjaan. Pengaturan ini sepenuhnya menggantikan pengaturan lama.
Perubahan pada bidang JobSettings.timeout_seconds diterapkan pada proses yang sedang berjalan. Perubahan pada bidang lain hanya diterapkan untuk pemrosesan di masa mendatang.

Pembaruan

Titik akhir Metode HTTP
2.0/jobs/update POST

Menambahkan, mengubah, atau menghapus pengaturan tertentu dari pekerjaan yang ada. Gunakan endpoint Reset untuk mengganti semua pengaturan pekerjaan.

Contoh

Permintaan contoh ini menghapus perpustakaan dan menambahkan pengaturan notifikasi email ke pekerjaan 1 yang ditentukan dalam contoh create.

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.
  • Isi update-job.json dengan bidang-bidang yang sesuai untuk solusi Anda.

Contoh ini menggunakan file .netrc dan jq.

Struktur permintaan

Nama Bidang Jenis Deskripsi
job_id INT64 Pengidentifikasi standar dari pekerjaan yang ingin diperbarui. Bidang ini wajib diisi.
new_settings JobSettings Pengaturan baru untuk pekerjaan tersebut.
Bidang tingkat atas yang ditentukan dalam new_settings, kecuali untuk array, diganti sepenuhnya. Array digabungkan berdasarkan bidang kunci masing-masing, seperti task_key atau
job_cluster_key, dan entri array dengan kunci yang sama digantikan sepenuhnya. Kecuali untuk penggabungan array, memperbarui sebagian bidang berlapis tidak didukung.
Perubahan pada bidang JobSettings.timeout_seconds diterapkan ke proses yang sedang dijalankan. Perubahan pada bidang lain hanya diterapkan untuk proses di masa mendatang.
fields_to_remove Sebuah array STRING Hapus bidang tingkat atas di pengaturan pekerjaan. Menghapus bidang berlapis tidak didukung, kecuali untuk entri dari array tasks 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.
  • Ruang kerja dapat berisi hingga 12000 pekerjaan yang disimpan.
  • Pekerjaan dapat berisi hingga 100 tugas.
Titik akhir Metode HTTP
2.0/jobs/run-now POST

Mulai tugas sekarang dan kembalikan hasil run_id dari eksekusi yang dipicu.

Kiat

Jika Anda memanggil Buat bersama dengan Jalankan sekarang, Anda dapat menggunakan titik akhir Submisi Runs sebagai alternatif, yang memungkinkan Anda mengirimkan beban kerja secara langsung tanpa harus membuat tugas.

Contoh

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

run-job.json:

Contoh pengajuan untuk pekerjaan notebook:

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

Contoh permintaan untuk tugas 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.
  • Isi run-job.json dengan bidang-bidang yang sesuai untuk solusi Anda.

Contoh ini menggunakan file .netrc dan jq.

Struktur permintaan

Nama Bidang Jenis Deskripsi
job_id INT64
jar_params Sebuah 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, itu akan secara otomatis menjadi 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 kolom ini (yaitu
{"notebook_params":{"name":"john doe","age":"35"}}) tidak boleh melebihi 10.000 byte.
python_params Sebuah array dari 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 melalui run-now, parameter tersebut 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 Sebuah array STRING Daftar parameter untuk pekerjaan dengan tugas spark submit, misalnya.
"spark_submit_params": ["--class", "org.apache.spark.examples.SparkPi"]. Parameter tersebut akan diteruskan ke skrip spark-submit sebagai parameter baris perintah. Jika ditentukan melalui run-now, parameter tersebut akan menggantikan parameter yang ditentukan dalam pengaturan tugas. Representasi JSON dari bidang ini tidak boleh melebihi 10.000 byte.
idempotency_token STRING Token opsional yang dapat digunakan untuk menjamin idempotensi permintaan pelaksanaan 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, sistem akan mengembalikan kesalahan.
Jika Anda menentukan token idempotency, setelah gagal Anda dapat mencoba ulang hingga permintaan berhasil. Azure Databricks menjamin bahwa tepat satu run akan diluncurkan menggunakan token idempotensi tersebut.
Token ini harus memiliki maksimal 64 karakter.
Untuk informasi selengkapnya, lihat Cara memastikan idempotensi untuk pekerjaan.

Struktur respons

Nama Bidang Jenis Deskripsi
run_id INT64 ID yang unik secara global dari run 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 sampai 10.000 (termasuk "pengajuan pekerjaan"). Batas ini juga memengaruhi tugas yang dibuat oleh REST API dan alur kerja notebook.
  • Ruang kerja dapat berisi hingga 12000 pekerjaan yang disimpan.
  • Pekerjaan dapat berisi hingga 100 tugas.
Titik akhir Metode HTTP
2.0/jobs/runs/submit POST

Kirimkan penjalankan sekali. 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

Permintaan

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.
  • Isi submit-job.json dengan bidang-bidang yang sesuai untuk solusi Anda.

Contoh ini menggunakan file .netrc dan jq.

Tanggapan

{
  "run_id": 123
}

Struktur permintaan

Penting

  • Saat Anda menjalankan pekerjaan di kluster pekerjaan baru, pekerjaan tersebut diperlakukan sebagai beban kerja Jobs Compute (otomatis) yang tunduk pada harga Jobs Compute.
  • Saat Anda menjalankan pekerjaan pada kluster serbaguna yang ada, pekerjaan tersebut akan diperlakukan sebagai beban kerja All-Purpose Compute (interaktif) yang tunduk pada penetapan harga All-Purpose Compute.
Nama Bidang Jenis Deskripsi
existing_cluster_id ATAU 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. Disarankan menjalankan tugas pada kluster baru untuk meningkatkan keandalan.
Jika new_cluster, deskripsi kluster yang akan dibuat untuk setiap eksekusi.
Jika menentukan PipelineTask, bidang ini bisa dikosongkan.
notebook_task ATAU spark_jar_task
spark_python_task ATAU spark_submit_task
pipeline_task ATAU run_job_task
NotebookTask ATAU SparkJarTask ATAU SparkPythonTask ATAU SparkSubmitTask OR PipelineTask OR RunJobTask Jika notebook_task, itu menandakan pekerjaan ini harus menjalankan notebook. Bidang ini mungkin tidak ditentukan bersamaan dengan spark_jar_task.
Jika spark_jar_task, menunjukkan bahwa tugas ini harus menjalankan sebuah JAR.
Jika spark_python_task, menunjukkan bahwa pekerjaan ini harus menjalankan file Python.
Jika spark_submit_task digunakan, ini menunjukkan bahwa pekerjaan ini harus diluncurkan oleh skrip spark submit.
Jika pipeline_task, menandakan bahwa pekerjaan ini seharusnya menjalankan pipeline DLT.
Jika run_job_task diaktifkan, menunjukkan bahwa pekerjaan ini harus menjalankan pekerjaan lain.
run_name STRING Nama opsional untuk proses. Nilai defaultnya adalah Untitled.
webhook_notifications WebhookNotifications Sekumpulan tujuan sistem opsional untuk diberi tahu ketika eksekusi pekerjaan ini dimulai, selesai, atau gagal.
notification_settings PengaturanNotifikasiPekerjaan Pengaturan pemberitahuan opsional yang digunakan saat mengirim pemberitahuan ke setiap webhook_notifications untuk proses ini.
libraries Kumpulan Pustaka Daftar pustaka opsional yang akan diinstal di kluster yang akan menjalankan tugas. Nilai default adalah daftar kosong.
timeout_seconds INT32 Batas waktu opsional diterapkan untuk setiap pelaksanaan tugas ini. Perilaku default adalah tidak memiliki batas waktu.
idempotency_token STRING Token opsional yang dapat digunakan untuk menjamin idempotensi permintaan pelaksanaan 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, akan muncul kesalahan.
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 idempotensi untuk pekerjaan.

Struktur respons

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

Daftar Putaran

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

Urutkan berdasarkan waktu mulai dalam urutan menurun.

Catatan

Data akan dihilangkan secara otomatis setelah 60 hari. Jika Anda ingin merujuknya lebih dari 60 hari, Anda harus menyimpan hasil penjalankan lama sebelum kedaluwarsa. Untuk mengekspor menggunakan UI, lihat Mengekspor hasil eksekusi pekerjaan. Untuk mengekspor menggunakan Jobs API, lihat Menjalankan ekspor.

Contoh

Permintaan

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.

Tanggapan

{
  "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 ATAU completed_only BOOL ATAU BOOL Jika active_only bernilai true, hanya eksekusi aktif yang termasuk dalam hasil; jika tidak, akan menyertakan eksekusi aktif dan selesai. Eksekusi aktif adalah eksekusi di PENDING, , RUNNINGatau TERMINATINGRunLifecycleState. Kolom ini tidak bisa berisi 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 pelaksanaannya harus dicantumkan. Jika dihilangkan, layanan Jobs akan mencantumkan aktivitas dari semua tugas.
offset INT32 Pergeseran dari jalinan pertama yang dikembalikan, relatif terhadap jalinan terbaru.
limit INT32 Jumlah putaran yang 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 jalur yang akan dikembalikan. Untuk deskripsi jenis eksekusi, lihat Eksekusi.

Struktur respons

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

Jalankan dapat

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

Mengambil metadata pemrosesan.

Catatan

Proses akan dihapus secara otomatis setelah 60 hari. Jika Anda ingin mereferensikan mereka lebih dari 60 hari, Anda harus menyimpan hasil pekerjaan lama sebelum kedaluwarsa. Untuk mengekspor menggunakan UI, lihat Mengekspor hasil eksekusi pekerjaan. Untuk mengekspor menggunakan Jobs API, lihat Menjalankan ekspor.

Contoh

Permintaan

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.

Tanggapan

{
  "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 proses yang dijalankan untuk memperoleh metadata. Bidang ini wajib diisi.

Struktur respons

Nama Bidang Jenis Deskripsi
job_id INT64 Pengidentifikasi kanonik dari pekerjaan yang mencakup pelaksanaan ini.
run_id INT64 Pengidentifikasi kanonik dari eksekusi. ID ini bersifat unik dalam setiap pelaksanaan dari semua pekerjaan.
number_in_job INT64 Nomor urut pelaksanaan ini di antara semua pelaksanaan 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 dari pelaksanaan tersebut.
schedule CronSchedule Jadwal cron yang menjalankan proses ini jika dipicu oleh penjadwal periodik.
task JobTask Tugas yang dilakukan oleh proses, jika ada.
cluster_spec ClusterSpec Cuplikan dari spesifikasi klaster pekerjaan ketika proses ini dibuat.
cluster_instance ClusterInstance Kluster yang digunakan untuk pelaksanaan ini. Jika run ditentukan untuk menggunakan kluster baru, parameter ini akan ditetapkan setelah layanan Pekerjaan meminta kluster untuk dijalankan.
overriding_parameters RunParameters Parameter yang digunakan untuk menjalankan 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 proses ini berakhir dalam milidetik epoch (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. Durasi total eksekusi adalah jumlah dari setup_duration,
execution_duration, dan cleanup_duration. Bidang setup_duration diatur ke 0 untuk eksekusi pekerjaan multitugas. Durasi total pekerjaan multitugas yang berlangsung adalah nilainya
run_duration ladang.
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. Durasi total eksekusi adalah jumlah dari setup_duration, execution_duration, dan
cleanup_duration. Bidang execution_duration diatur ke 0 untuk eksekusi pekerjaan multitugas. Total durasi pelaksanaan tugas multitugas adalah nilai bidang run_duration.
cleanup_duration INT64 Waktu dalam milidetik yang dibutuhkan untuk menghentikan kluster dan menghapus artefak terkait. Jumlah total durasi lari adalah jumlah dari setup_duration, execution_duration, dan cleanup_duration. Bidang cleanup_duration diatur ke 0 untuk eksekusi pekerjaan multitugas. Total durasi eksekusi pekerjaan multitasking adalah nilai bidang run_duration.
run_duration INT64 Waktu dalam milidetik yang dibutuhkan untuk menyelesaikan pelaksanaan pekerjaan dan semua perbaikannya. Parameter ini hanya ditentukan untuk proses pekerjaan multitugas dan bukan proses tugas. Durasi pelaksanaan 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 pencipta. Bidang ini tidak akan disertakan dalam respons jika pengguna telah dihapus
run_page_url STRING URL ke halaman rinci aktivitas.

Menjalankan ekspor

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

Mengekspor dan mengambil tugas pelaksanaan pekerjaan.

Catatan

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

Contoh

Permintaan

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.

Tanggapan

{
  "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

Bagian tubuh notebook pada objek __DATABRICKS_NOTEBOOK_MODEL dikodekan.

Struktur permintaan

Nama Bidang Jenis Deskripsi
run_id INT64 Pengidentifikasi kanonik untuk pelaksanaan. Bidang ini wajib diisi.
views_to_export ViewsToExport Pandangan mana yang akan diekspor (CODE, DASHBOARDS, atau ALL). Menetapkan sebagai default KODE.

Struktur respons

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

Pembatalan proses berjalan

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

Membatalkan pelaksanaan pekerjaan. Karena proses dibatalkan secara asinkron, proses mungkin masih berjalan saat permintaan ini selesai. Proses 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 batch yang akan dibatalkan. Bidang ini wajib diisi.

Eksekusi membatalkan semua

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

Batalkan semua pelaksanaan tugas 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 ID kanonik dari tugas untuk membatalkan semua pelaksanaan. Bidang ini wajib diisi.

Eksekusi menghasilkan output

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

Mengambil kembali output dan metadata dari satu kali pelaksanaan tugas. 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 dari output tersebut. 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.

Proses akan dihapus secara otomatis setelah 60 hari. Jika Anda ingin merujuknya lebih dari 60 hari, Anda harus menyimpan hasil pengoperasian lama sebelum kedaluwarsa. Untuk mengekspor menggunakan UI, lihat Mengekspor hasil eksekusi pekerjaan. Untuk mengekspor menggunakan Jobs API, lihat Menjalankan ekspor.

Contoh

Permintaan

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.

Tanggapan

{
  "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 pelaksanaan. Untuk pekerjaan dengan banyak tugas, ini adalah pelaksanaan run_id dari sebuah tugas. Lihat Eksekusi menghasilkan keluaran. Bidang ini wajib diisi.

Struktur respons

Nama Bidang Jenis Deskripsi
notebook_output ATAU error NotebookOutput OR STRING Jika notebook_output, output tugas notebook, jika tersedia. Tugas notebook yang berakhir (baik berhasil maupun gagal) tanpa melakukan pemanggilan
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 pelaksanaan kecuali outputnya.

Hapus jalankan

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

Menghapus run yang tidak aktif. Mengembalikan kesalahan jika run sedang 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 proses yang dijalankan untuk memperoleh metadata.

Struktur data

Di bagian ini:

ABFSSStorageInfo

Informasi penyimpanan Azure Data Lake Storage (ADLS).

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

AutoScale

Rentang yang menentukan jumlah min dan maks pekerja kluster.

Nama Bidang Jenis Deskripsi
min_workers INT32 Jumlah minimum pekerja yang bisa dikurangi oleh kluster saat tidak digunakan secara optimal. Ini juga merupakan jumlah awal pekerja yang akan dimiliki kluster setelah pembuatan.
max_workers INT32 Jumlah maksimum pekerja yang dapat ditingkatkan oleh kluster saat 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 yang mengikuti setelah node first_on_demand.
spot_bid_max_price DOUBLE Harga penawaran 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 dari instans ini akan menjadi harga saat ini untuk instans spot atau harga dari instans standar. Anda dapat menampilkan riwayat harga dan tingkat pembatalan di portal Azure.

AzureAvailability

Perilaku ketersediaan jenis instans Azure.

Jenis Deskripsi
SPOT_AZURE Gunakan instans spot.
ON_DEMAND_AZURE Gunakan instance 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 kolam renang.

ClusterInstance

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

Nama Bidang Jenis Deskripsi
cluster_id STRING Pengidentifikasi kanonik untuk kluster yang digunakan oleh proses. Bidang ini selalu tersedia untuk dijalankan pada kluster yang ada. Untuk eksekusi di kluster baru, akan tersedia setelah kluster selesai 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 sebuah operasi. 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 Lokasi DBFS untuk log kluster. Tujuan harus disediakan. Misalnya: { "dbfs" : { "destination" : "dbfs:/home/cluster_log" } }

ClusterSpec

Penting

  • Saat Anda menjalankan pekerjaan di kluster pekerjaan baru, pekerjaan tersebut 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 Komputasi Serba Guna (interaktif) yang mengikuti harga khusus Komputasi Serba Guna.
Nama Bidang Jenis Deskripsi
existing_cluster_id ATAU 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. Disarankan menjalankan tugas pada kluster baru untuk meningkatkan keandalan.
Jika new_cluster, deskripsi kluster yang akan dibuat untuk setiap eksekusi.
Jika menentukan PipelineTask, bidang ini bisa dikosongkan.
libraries Sekumpulan Pustaka Daftar pustaka opsional yang akan diinstal di kluster yang akan menjalankan tugas. Nilai default adalah daftar kosong.

ClusterTag

Definisi tag klaster.

Jenis Deskripsi
STRING Kunci dari tag. Kunci harus:
  • Panjangnya antara 1 dan 512 karakter
  • Tidak boleh mengandung karakter <>%*&+?\\/ sama sekali
  • Tidak dimulai 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 tugas akan ditentukan berdasarkan zona waktu ini. Lihat Java TimeZone untuk mengetahui detailnya. Bidang ini wajib diisi.
pause_status STRING Tunjukkan apakah jadwal ini dijeda atau tidak. Pilih "DIJEDA" atau "TIDAK DIJEDA".

DbfsStorageInfo

Informasi penyimpanan DBFS.

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

FileStorageInfo

Informasi mengenai penyimpanan file.

Catatan

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

Nama Bidang Jenis Deskripsi
destination STRING Lokasi penyimpanan 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 skrip init di ruang kerja. Tujuan harus disediakan. Contohnya,
{ "workspace" : { "destination" : "/Users/someone@domain.com/init_script.sh" } }
(Tidak digunakan lagi) Lokasi DBFS untuk skrip init. Tujuan harus disediakan. Contohnya,
{ "dbfs" : { "destination" : "dbfs:/home/init_script" } }
Lokasi skrip inisialisasi Azure Data Lake Storage (ADLS). Tujuan harus disediakan. Misalnya: { "abfss": { "destination" : "abfss://..." } }

Pekerjaan

Nama Bidang Jenis Deskripsi
job_id INT64 Pengidentifikasi kanonik untuk tugas ini.
creator_user_name STRING Nama pengguna pencipta. 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 setiap pelaksanaannya. 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).

Pemberitahuan-Email-Pekerjaan

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 Sebuah array STRING Daftar alamat email yang akan diberitahu saat run dimulai. Jika tidak ditentukan pada saat pembuatan, pengaturan ulang, atau pembaruan pekerjaan, daftar akan kosong, dan pemberitahuan tidak akan dikirimkan.
on_success Sebuah array STRING Daftar alamat email yang akan diberitahukan saat eksekusi selesai dengan sukses. Eksekusi dianggap berhasil diselesaikan jika berakhir dengan TERMINATEDlife_cycle_state dan SUCCESSFULresult_state. Jika tidak ditentukan pada saat pembuatan, pengaturan ulang, atau pembaruan pekerjaan, daftar akan kosong, dan pemberitahuan tidak akan dikirimkan.
on_failure Sebuah array STRING Daftar alamat email yang akan diberitahukan saat sebuah proses tidak berhasil diselesaikan. Eksekusi dianggap tidak berhasil jika berakhir dengan INTERNAL_ERROR
life_cycle_state atau SKIPPED, FAILED, atau TIMED_OUT status_hasil. Jika ini tidak ditentukan saat pembuatan, pengaturan ulang, atau pembaruan pekerjaan, daftar kosong, dan pemberitahuan tidak dikirim.
on_duration_warning_threshold_exceeded Sebuah array STRING Sebuah daftar alamat email yang akan diberi tahu ketika durasi suatu eksekusi melebihi ambang batas yang ditentukan untuk metrik RUN_DURATION_SECONDS di bidang health. Jika tidak ada aturan metrik RUN_DURATION_SECONDS yang ditentukan di bidang health untuk tugas tersebut, pemberitahuan tidak akan dikirim.
no_alert_for_skipped_runs BOOL Jika benar, jangan mengirim email kepada penerima yang ditentukan dalam on_failure jika pelaksanaan dilewatkan.
Nama Bidang Jenis Deskripsi
on_start Susunan Webhook Daftar tujuan sistem opsional yang akan diberi tahu saat proses dimulai. Jika tidak ditentukan pada saat pembuatan, pengaturan ulang, atau pembaruan pekerjaan, daftar akan kosong, dan pemberitahuan tidak akan dikirimkan. Tiga tujuan maksimal dapat ditentukan untuk properti on_start.
on_success Susunan Webhook Daftar opsional tujuan sistem yang akan diberi tahu ketika proses berhasil selesai. Eksekusi dianggap berhasil diselesaikan jika berakhir dengan TERMINATEDlife_cycle_state dan SUCCESSFULresult_state. Jika tidak ditentukan pada saat pembuatan, pengaturan ulang, atau pembaruan pekerjaan, daftar akan kosong, dan pemberitahuan tidak akan dikirimkan. Tiga tujuan maksimal dapat ditentukan untuk properti on_success.
on_failure Susunan Webhook Daftar tujuan sistem opsional yang akan diberi tahu ketika sebuah proses tidak berhasil diselesaikan. Sebuah proses dianggap tidak berhasil jika berakhir dengan INTERNAL_ERROR
life_cycle_state atau SKIPPED, FAILED, atau TIMED_OUT status_hasil. Jika ini tidak ditentukan saat pembuatan, pengaturan ulang, atau pembaruan pekerjaan, daftar kosong, dan pemberitahuan tidak dikirim. Tiga tujuan maksimal dapat ditentukan untuk properti on_failure.
on_duration_warning_threshold_exceeded Susunan 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 . Tiga tujuan maksimal dapat ditentukan untuk properti on_duration_warning_threshold_exceeded.

Pengaturan Notifikasi Pekerjaan

Nama Bidang Jenis Deskripsi
no_alert_for_skipped_runs BOOL Jika benar, jangan kirim pemberitahuan ke penerima yang ditentukan dalam on_failure jika eksekusi dilewati.
no_alert_for_canceled_runs BOOL Jika benar, jangan kirim pemberitahuan ke penerima yang ditentukan dalam on_failure jika eksekusi dibatalkan.
alert_on_last_attempt BOOL Jika benar, jangan kirim pemberitahuan ke penerima yang ditentukan di on_start untuk percobaan eksekusi yang diulang dan jangan kirim pemberitahuan ke penerima yang ditentukan di on_failure sampai percobaan ulang terakhir dari eksekusi.

PengaturanPekerjaan

Penting

  • Saat Anda menjalankan pekerjaan di kluster pekerjaan baru, pekerjaan tersebut 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 ATAU 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. Disarankan menjalankan tugas pada kluster baru untuk meningkatkan keandalan.
Jika new_cluster, deskripsi kluster yang akan dibuat untuk setiap eksekusi.
Jika menentukan PipelineTask, bidang ini bisa dikosongkan.
notebook_task ATAU spark_jar_task
spark_python_task ATAU spark_submit_task
pipeline_task ATAU run_job_task
NotebookTask ATAU SparkJarTask ATAU SparkPythonTask ATAU SparkSubmitTask OR PipelineTask OR RunJobTask Jika notebook_task, menunjukkan bahwa pekerjaan ini harus menjalankan sebuah notebook. Bidang ini mungkin tidak ditentukan bersamaan dengan spark_jar_task.
Jika ada 'spark_jar_task', ini menunjukkan bahwa tugas ini harus menjalankan sebuah JAR.
Jika spark_python_task, menunjukkan bahwa pekerjaan ini harus menjalankan file Python.
Jika spark_submit_task, ini menunjukkan bahwa pekerjaan ini harus diluncurkan oleh skrip spark submit.
Jika pipeline_task, menandakan bahwa pekerjaan ini seharusnya menjalankan pipeline DLT.
Jika run_job_task, menunjukkan bahwa pekerjaan ini harus menjalankan pekerjaan lain.
name STRING Nama opsional untuk pekerjaan tersebut. Nilai defaultnya adalah Untitled.
libraries Kumpulan Perpustakaan Daftar pustaka opsional yang akan diinstal di kluster yang akan menjalankan tugas. Nilai default adalah daftar kosong.
email_notifications PemberitahuanEmailPekerjaan 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 PengaturanNotifikasiPekerjaan 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 dapat diterapkan untuk setiap pelaksanaan tugas ini. Perilaku default adalah tidak memiliki batas waktu.
max_retries INT32 Jumlah maksimum opsional berapa kali untuk melakukan ulang 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 upaya yang gagal langsung diulang.
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 pelaksanaan pekerjaan bersamaan yang diizinkan secara opsional.
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 eksekusi baru. Misalnya, misalkan tugas memiliki konkurensi sebanyak 4 dan ada 4 eksekusi aktif berjalan bersamaan. Kemudian, mengatur tingkat kesamaan ke 3 tidak akan menghentikan salah satu dari eksekusi yang sedang berjalan. Mulai saat itu, jalur baru akan dilewati kecuali ada kurang dari 3 jalur aktif.
Nilai ini tidak boleh melebihi 1000. Mengatur nilai ini ke 0 menyebabkan semua proses baru diabaikan. Perilaku default adalah hanya mengizinkan 1 kali eksekusi bersamaan.
health AturanKesehatanPekerjaan Sekumpulan aturan kesehatan opsional yang ditentukan untuk pekerjaan tersebut.

TugasPekerjaan

Nama Bidang Jenis Deskripsi
notebook_task ATAU spark_jar_task
spark_python_task ATAU spark_submit_task
pipeline_task ATAU run_job_task
NotebookTask ATAU SparkJarTask ATAU SparkPythonTask ATAU SparkSubmitTask OR PipelineTask OR RunJobTask Jika notebook_task diaktifkan, menunjukkan bahwa pekerjaan ini harus menjalankan sebuah notebook. Bidang ini mungkin tidak ditentukan bersamaan dengan spark_jar_task.
Jika 'spark_jar_task', menunjukkan bahwa tugas ini harus menjalankan JAR.
Jika spark_python_task, menunjukkan bahwa pekerjaan ini harus menjalankan file Python.
Jika spark_submit_task digunakan, ini menunjukkan bahwa pekerjaan ini harus diluncurkan oleh skrip spark submit.
Jika pipeline_task, menandakan bahwa pekerjaan ini seharusnya menjalankan pipeline DLT.
Jika run_job_task, menandakan bahwa pekerjaan ini harus menjalankan pekerjaan lainnya.

AturanKesehatanPekerjaan

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.

AturanKesehatanKerja

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

Perpustakaan

Nama Bidang Jenis Deskripsi
jar ATAU egg ATAU whl
pypi ATAU maven ATAU cran
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 dari wheel atau URI dari wheels yang dikompresi dalam format ZIP untuk 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 ala Gradle. Misalnya: org.jsoup:jsoup:1.7.2. Bidang ini wajib diisi.
repo STRING Repositori Maven sebagai tempat untuk menginstal paket Maven. Jika tidak disebutkan, baik Maven Central Repository maupun Spark Packages akan dicari.
exclusions Sebuah array 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 ATAU autoscale INT32 OR AutoScale Jika num_workers, jumlah node pekerja yang seharusnya dimiliki oleh kluster ini. Kluster memiliki satu Spark driver dan num_workers executor dengan total num_workers + 1 Spark node.
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 kluster dari Spark. 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 konfigurasi 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 beban kerja intensif memori atau komputasi Daftar jenis node yang tersedia dapat diambil dengan menggunakan panggilan GET 2.0/clusters/list-node-type. Bidang ini, bidang instance_pool_id, atau kebijakan kluster yang menentukan ID jenis node atau ID pool 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 simpul tipe lama seperti teroptimalisasi untuk komputasi dan teroptimalisasi untuk memori.
  • Databricks memungkinkan paling banyak 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, skrip init log 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, kami sarankan untuk menambahkannya ke $SPARK_DAEMON_JAVA_OPTS seperti yang ditunjukkan dalam contoh berikut. Ini memastikan bahwa semua variabel lingkungan default yang dikelola Databricks 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 memperoleh ruang penyimpanan tambahan secara dinamis ketika pekerja Spark-nya kekurangan ruang penyimpanan. Referensi ke Mengaktifkan penskalaan otomatis penyimpanan lokal 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. Rujuk ke API Kumpulan Instans untuk detail lebih lanjut.
instance_pool_id STRING ID alternatif dari pool instance yang digunakan untuk node kluster. Jika driver_instance_pool_id ada,
instance_pool_id hanya digunakan untuk node pekerja. Selain itu, ini digunakan untuk node driver dan node pekerja. Rujuk ke API Kumpulan Instans untuk detail lebih lanjut.

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 mengidentifikasi sel yang melampaui batas, jalankan notebook pada kluster serbaguna dan gunakan teknik simpan otomatis notebook ini.

Nama Bidang Jenis Deskripsi
notebook_path STRING Jalur absolut dari notebook yang akan dijalankan di dalam ruang kerja Azure Databricks. Jalur ini harus dimulai dengan tanda garis miring. Bidang ini wajib diisi.
revision_timestamp LONG Penanda waktu revisi buku catatan.
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 Apa itu referensi nilai dinamis? untuk mengatur parameter yang berisi informasi tentang eksekusi pekerjaan.
Jika notebook menerima parameter yang tidak ditentukan dalam parameter pekerjaan base_parameters atau parameter pengganti run-now, nilai bawaan 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 bahasa Tionghoa, kanji 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 pipeline DLT yang akan dijalankan.

PythonPyPiLibrary

Nama Bidang Jenis Deskripsi
package STRING Nama paket PyPI untuk yang akan diinstal. Dukungan juga diberikan untuk spesifikasi versi opsional yang tepat. 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.

Menjalankan

Semua informasi tentang pelaksanaan kecuali output-nya. Keluaran dapat diambil secara terpisah menggunakan metode getRunOutput.

Nama Bidang Jenis Deskripsi
job_id INT64 Pengidentifikasi kanonik dari pekerjaan yang mencakup pelaksanaan ini.
run_id INT64 Pengidentifikasi kanonik dari pelaksanaan. ID ini bersifat unik di semua pekerjaan.
creator_user_name STRING Nama pengguna pencipta. Bidang ini tidak akan disertakan dalam respons jika pengguna telah dihapus.
number_in_job INT64 Nomor urut pelaksanaan ini di antara semua pelaksanaan jabatan. 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 keadaan siklus hidup dari pelaksanaan tersebut.
schedule CronSchedule Jadwal cron yang menjalankan proses ini jika dipicu oleh penjadwal periodik.
task JobTask Tugas yang dilakukan oleh proses, jika ada.
cluster_spec ClusterSpec Cuplikan dari spesifikasi kluster tugas ketika proses ini dibuat.
cluster_instance ClusterInstance Kluster yang digunakan untuk pengoperasian ini. Jika proses ditentukan untuk menggunakan kluster baru, parameter ini akan diatur setelah layanan Jobs meminta kluster untuk pemrosesan.
overriding_parameters RunParameters Parameter yang digunakan untuk menjalankan ini.
start_time INT64 Waktu saat eksekusi ini dimulai dalam satuan milidetik epoch (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 dari proses berjalan adalah jumlah dari *setup_duration*, *execution_duration*, dan *cleanup_duration*.
end_time INT64 Waktu saat proses ini berakhir dalam milidetik epoch (milidetik sejak 1/1/1970 UTC). Bidang ini akan diatur ke 0 jika pekerjaan masih berjalan.
trigger TriggerType Jenis pemicu yang memicu eksekusi ini.
run_name STRING Nama opsional untuk pelaksanaan. Nilai defaultnya adalah Untitled. Panjang maksimum yang diizinkan adalah 4096 byte dalam pengodean UTF-8.
run_page_url STRING URL ke halaman detail proses.
run_type STRING Jenis lari.
attempt_number INT32 Nomor urut dari percobaan eksekusi ini untuk tugas dipicu. Upaya awal dari suatu percobaan memiliki nomor percobaan 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. Pencobaan ulang hanya dilakukan sampai berhasil, dan maksimum attempt_number sama dengan nilai max_retries untuk tugas tersebut.

JalankanTugasPekerjaan

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

RunLifeCycleState

Kondisi siklus hidup dari suatu proses. Transisi status yang diizinkan adalah:

  • QUEUED ->PENDING
  • PENDING ->RUNNING ->TERMINATING ->TERMINATED
  • PENDING ->SKIPPED
  • PENDING ->INTERNAL_ERROR
  • RUNNING ->INTERNAL_ERROR
  • TERMINATING ->INTERNAL_ERROR
Negara bagian Deskripsi
QUEUED Proses telah dipicu tetapi diantrikan karena mencapai salah satu batas berikut:
  • Jumlah maksimum proses aktif bersamaan di ruang kerja.
  • Pelaksanaan tugas serentak maksimum Run Job di ruang kerja.
  • Jumlah maksimum pekerjaan yang berjalan bersamaan.

Pekerjaan atau proses harus diaktifkan antreannya sebelum dapat mencapai status ini.
PENDING Proses telah dimulai. Jika eksekusi maksimum pekerjaan bersamaan yang dikonfigurasi sudah tercapai, eksekusi akan segera beralih ke status SKIPPED tanpa menyiapkan sumber daya apa pun. Selain itu, persiapan kluster dan pelaksanaan sedang dalam proses.
RUNNING Tugas ini sedang dijalankan.
TERMINATING Tugas eksekusi ini telah selesai, dan kluster dan konteks eksekusi sedang dibersihkan.
TERMINATED Tugas pengerjaan ini telah selesai, dan kluster serta konteks pengerjaan telah dibersihkan. Kondisi ini adalah stadium akhir.
SKIPPED Pelaksanaan ini dibatalkan karena pelaksanaan sebelumnya dari tugas yang sama sudah aktif. Kondisi ini sudah mencapai tahap akhir yang tidak bisa disembuhkan.
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. Kondisi ini adalah tahap akhir.

ParameterPengoperasian

Parameter-parameter untuk proses 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 Sebuah 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, maka secara otomatis akan menjadi 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 Apa itu referensi nilai dinamis? untuk mengatur parameter yang berisi informasi tentang eksekusi pekerjaan.
notebook_params Peta ParamPair Pemetaan dari kunci ke nilai untuk pekerjaan yang melibatkan tugas notebook, misalnya.
"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 Apa itu referensi nilai dinamis? untuk mengatur parameter yang berisi informasi tentang eksekusi pekerjaan.
Representasi JSON dari kolom ini (yaitu
{"notebook_params":{"name":"john doe","age":"35"}}) tidak boleh melebihi 10.000 byte.
python_params Sebuah 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 melalui run-now, parameter tersebut 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 Apa itu referensi nilai dinamis? untuk mengatur parameter yang berisi informasi tentang eksekusi pekerjaan.
Parameter ini hanya menerima karakter Latin (set karakter ASCII). Menggunakan karakter non-ASCII akan mengembalikan kesalahan. Contoh karakter non-ASCII yang tidak valid adalah bahasa Tionghoa, kanji Jepang, dan emoji.
spark_submit_params Sebuah array dari STRING Daftar parameter untuk pekerjaan dengan pengiriman tugas Spark, misalnya.
"spark_submit_params": ["--class", "org.apache.spark.examples.SparkPi"]. Parameter diteruskan ke skrip spark-submit sebagai parameter baris perintah. Jika ditentukan melalui run-now, parameter tersebut akan menggantikan parameter yang telah ditentukan dalam pengaturan tugas. Representasi JSON dari bidang ini (yaitu {"python_params":["john doe","35"]}) tidak dapat melebihi 10.000 byte.
Gunakan Apa itu referensi nilai dinamis? untuk mengatur parameter yang berisi informasi tentang eksekusi pekerjaan.
Parameter ini hanya menerima karakter Latin (set karakter ASCII). Menggunakan karakter non-ASCII akan mengembalikan kesalahan. Contoh karakter non-ASCII yang tidak valid adalah bahasa Tionghoa, kanji Jepang, dan emoji.

StatusHasilJalankan

Status hasil eksekusi.

  • Jika life_cycle_state = TERMINATED: jika eksekusi memiliki tugas, hasilnya dipastikan tersedia dan mengindikasikan hasil dari tugas tersebut.
  • Jika life_cycle_state = PENDING, RUNNING, atau SKIPPED, status hasil tidak tersedia.
  • Jika life_cycle_state = TERMINATING atau lifecyclestate = INTERNAL_ERROR: keadaan hasil tersedia jika pemrosesan memiliki tugas dan berhasil memulainya.

Setelah tersedia, status hasil tidak pernah berubah.

Negara Bagian Deskripsi
SUCCESS Tugas berhasil diselesaikan.
FAILED Tugas selesai dengan kesalahan.
TIMEDOUT Proses 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. Kolom ini selalu tersedia dalam respons.
result_state RunResultState Status hasil dari sebuah pelaksanaan. 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 dan nilai konfigurasi Spark.

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

SparkEnvPair

Pasangan kunci-nilai untuk variabel lingkungan Spark.

Penting

Ketika menentukan variabel lingkungan dalam kluster pekerjaan, bidang dalam struktur data ini hanya menerima karakter Latin (set karakter ASCII). Menggunakan karakter non-ASCII akan mengembalikan kesalahan. Contoh karakter non-ASCII yang tidak valid adalah bahasa Tionghoa, kanji 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 file JAR yang disediakan sebagai pustaka.
Kode harus menggunakan SparkContext.getOrCreate untuk mendapatkan konteks Spark; jika tidak, pekerjaan akan gagal.
parameters Sebuah array STRING Parameter yang akan diteruskan ke metode utama.
Gunakan Apa itu referensi nilai dinamis? untuk mengatur parameter yang berisi informasi tentang eksekusi pekerjaan.

SparkPythonTask

Nama Bidang Jenis Deskripsi
python_file STRING URI file Python yang akan dieksekusi. Jalur DBFS didukung. Bidang ini wajib diisi.
parameters Sebuah array STRING Parameter baris perintah yang akan diteruskan ke file Python.
Gunakan Apa itu referensi nilai dinamis? 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-memorydan --executor-memory ke nilai yang lebih kecil untuk meninggalkan beberapa ruang untuk penggunaan memori di luar 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 Sebuah array STRING Parameter baris perintah diteruskan ke spark submit.
Gunakan Apa itu referensi nilai dinamis? untuk mengatur parameter yang berisi informasi tentang eksekusi pekerjaan.

Jenis Pemicu

Ini adalah jenis pemicu yang dapat memicu jalannya suatu proses.

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 run yang dipicu sebagai percobaan ulang dari run yang sebelumnya gagal. Ini terjadi ketika Anda meminta untuk menjalankan kembali pekerjaan jika terjadi kegagalan.

LihatItem

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. Pada mode tampilan kode, nama notebook. Dalam kasus tampilan dasbor, nama dasbor.
type ViewType Jenis item tampilan.

Jenis Tampilan

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

Tampilan Untuk Diekspor

Tampilan untuk diekspor: kode, semua dasbor, atau semuanya.

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

Webhook

Nama Bidang Jenis Deskripsi
id STRING Pengidentifikasi mengacu pada tujuan notifikasi sistem. Bidang ini wajib diisi.

Pemberitahuan Webhook

Nama Bidang Jenis Deskripsi
on_start Susunan Webhook Daftar tujuan sistem opsional yang akan diberi tahu saat proses dimulai. Jika tidak ditentukan pada saat pembuatan, pengaturan ulang, atau pembaruan pekerjaan, daftar akan kosong, dan pemberitahuan tidak akan dikirimkan. Tiga tujuan maksimal dapat ditentukan untuk properti on_start.
on_success Susunan Webhook Daftar opsional tujuan sistem yang akan diberi tahu ketika proses berhasil selesai. Eksekusi dianggap berhasil diselesaikan jika berakhir dengan TERMINATEDlife_cycle_state dan SUCCESSFULresult_state. Jika tidak ditentukan pada saat pembuatan, pengaturan ulang, atau pembaruan pekerjaan, daftar akan kosong, dan pemberitahuan tidak akan dikirimkan. Tiga tujuan maksimal dapat ditentukan untuk properti on_success.
on_failure Susunan Webhook Daftar opsional tujuan sistem yang akan diberi tahu ketika sebuah proses selesai dengan tidak berhasil. Proses dianggap tidak berhasil jika berakhir dengan INTERNAL_ERROR
life_cycle_state SKIPPEDatau , FAILED, atau TIMED_OUTresult_state. Jika ini tidak ditentukan saat pembuatan, pengaturan ulang, atau pembaruan pekerjaan, daftar kosong, dan pemberitahuan tidak dikirim. Tiga tujuan maksimal dapat ditentukan untuk properti on_failure.
on_duration_warning_threshold_exceeded Susunan 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 . Tiga tujuan maksimal dapat ditentukan untuk properti on_duration_warning_threshold_exceeded.

WorkspaceStorageInfo

Informasi penyimpanan ruang kerja.

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