Mengatur properti konfigurasi Spark pada Azure Databricks

Anda dapat mengatur properti konfigurasi Spark (Spark confs) untuk menyesuaikan pengaturan di lingkungan komputasi Anda.

Databricks umumnya merekomendasikan untuk tidak mengonfigurasi sebagian besar properti Spark. Terutama saat bermigrasi dari Apache Spark sumber terbuka atau meningkatkan versi Databricks Runtime, konfigurasi Spark warisan dapat mengambil alih perilaku default baru yang mengoptimalkan beban kerja.

Untuk banyak perilaku yang dikontrol oleh properti Spark, Azure Databricks juga menyediakan opsi untuk mengaktifkan perilaku pada tingkat tabel atau untuk mengonfigurasi perilaku kustom sebagai bagian dari operasi tulis. Misalnya, evolusi skema sebelumnya dikendalikan oleh properti Spark, tetapi sekarang memiliki cakupan dalam SQL, Python, dan Scala. Lihat sintaks evolusi Skema untuk menggabungkan.

Mengonfigurasi properti Spark untuk buku catatan dan pekerjaan

Anda bisa mengatur properti Spark untuk buku catatan dan pekerjaan. Cakupan konfigurasi tergantung pada cara Anda mengaturnya.

Properti dikonfigurasi Berlaku pada
Menggunakan konfigurasi komputasi Semua buku catatan dan pekerjaan berjalan dengan sumber daya komputasi.
Dalam buku catatan Hanya SparkSession untuk notebook saat ini.

Untuk petunjuk tentang mengonfigurasi properti Spark di tingkat komputasi, lihat Konfigurasi Spark.

Untuk mengatur properti Spark dalam buku catatan, gunakan sintaks berikut:

SQL

SET spark.sql.ansi.enabled = true

Python

spark.conf.set("spark.sql.ansi.enabled", "true")

Scala

spark.conf.set("spark.sql.ansi.enabled", "true")

Mengonfigurasi properti Spark di Databricks SQL

Databricks SQL memungkinkan admin mengonfigurasi properti Spark untuk akses data di menu pengaturan ruang kerja. Lihat konfigurasi akses data

Selain konfigurasi akses data, Databricks SQL hanya memungkinkan beberapa konfigurasi Spark, yang telah diberi nama alias yang lebih pendek untuk mempermudah. Lihat parameter konfigurasi .

Untuk konfigurasi SQL yang paling didukung, Anda dapat mengambil alih perilaku global dalam sesi Anda saat ini. Contoh berikut menonaktifkan mode ANSI:

SET ANSI_MODE = false

Mengonfigurasi properti Spark untuk Alur Deklaratif Lakeflow Spark

Lakeflow Spark Declarative Pipelines memungkinkan Anda mengonfigurasi properti Spark untuk sebuah pipeline, untuk satu sumber daya komputasi yang dikonfigurasi untuk sebuah pipeline, atau untuk aliran individu, tampilan yang telah dimaterialisasi, atau tabel streaming.

Anda dapat mengatur properti alur dan komputasi Spark menggunakan UI atau JSON. Lihat Mengonfigurasi Alur.

spark_conf Gunakan opsi di fungsi dekorator Alur Deklaratif Lakeflow Spark untuk mengonfigurasi properti Spark untuk alur, tampilan, atau tabel. Lihat referensi bahasa Python Lakeflow Spark Declarative Pipelines.

Mengonfigurasi properti Spark untuk buku catatan dan pekerjaan tanpa server

Komputasi tanpa server tidak mendukung pengaturan sebagian besar properti Spark untuk buku catatan atau pekerjaan. Berikut ini adalah properti yang bisa Anda konfigurasi:

Harta benda Bawaan Deskripsi
spark.databricks.execution.timeout 9000 (hanya berlaku untuk notebook) Batas waktu eksekusi, dalam detik, untuk kueri Spark Connect. Nilai default hanya berlaku untuk kueri buku catatan. Untuk pekerjaan yang berjalan pada komputasi tanpa server (dan pekerjaan yang berjalan pada komputasi standar klasik), tidak ada batas waktu kecuali properti ini diatur.
spark.sql.legacy.timeParserPolicy CORRECTED Kebijakan penganalisis waktu.
spark.sql.session.timeZone Etc/UTC ID zona waktu lokal untuk sesi dalam format ID zona berbasis wilayah atau offset zona.
spark.sql.shuffle.partitions auto Jumlah partisi default yang digunakan ketika mendistribusikan ulang data untuk gabungan atau agregasi.
spark.sql.ansi.enabled true Jika benar, Spark SQL menggunakan dialek yang sesuai dengan standar ANSI sebagai ganti dialek yang sesuai dengan Hive.
spark.sql.files.maxPartitionBytes 134217728 (128 MB) Jumlah maksimum byte untuk dikemas ke dalam satu partisi saat membaca file.

Properti Spark yang tidak didukung

Properti konfigurasi Spark berikut ini tidak didukung di Azure Databricks. Properti Spark yang tidak didukung diabaikan oleh Azure Databricks atau dapat menyebabkan konflik dan kegagalan saat digunakan secara bersamaan dengan fitur Azure Databricks. Jika Anda memigrasikan beban kerja ke Azure Databricks, ganti properti yang tidak didukung dengan alternatif yang direkomendasikan.

Properti Spark yang tidak didukung Berlaku pada Alternatif Databricks
spark.dynamicAllocation.enabled
spark.dynamicAllocation.initialExecutors
spark.dynamicAllocation.minExecutors
spark.dynamicAllocation.maxExecutors
spark.dynamicAllocation.executorIdleTimeout
Komputasi klasik Konfigurasikan penskalaan otomatis Azure Databricks sebagai gantinya, yang mengelola siklus hidup eksekutor di tingkat platform. Lihat Mengaktifkan autoscaling.
spark.master
spark.driver.host
spark.driver.port
Komputasi tanpa server dan Alur Deklaratif Lakeflow Spark Infrastruktur tanpa server Azure Databricks mengelola properti koneksi internal ini secara otomatis. Mereka tidak dapat diatur oleh pengguna. Mengaturnya pada komputasi tanpa server atau Lakeflow Spark Declarative Pipelines mengakibatkan kesalahan.
spark.jars Komputasi tanpa server dan Alur Deklaratif Lakeflow Spark Azure Databricks tidak mendukung melampirkan JAR ke komputasi tanpa server atau alur Alur Deklaratif Lakeflow Spark menggunakan konfigurasi Spark, tetapi Anda dapat menjalankan tugas JAR tanpa server. Lihat Mengonfigurasi lingkungan untuk tugas pekerjaan.
spark.databricks.runtimeoptions.* Komputasi klasik runtime_options Gunakan atribut dalam konfigurasi kluster sebagai gantinya. Opsi runtime tidak dapat diatur sebagai konfigurasi Spark pada jenis kluster apa pun. Mencoba mengaturnya menggunakan konfigurasi Spark mengakibatkan kesalahan.

Dapatkan pengaturan saat ini untuk konfigurasi Spark

Gunakan sintaks berikut untuk meninjau pengaturan konfigurasi Spark saat ini:

spark.conf.get("configuration_name")