Bagikan melalui


Rekomendasi pengoptimalan pada Azure Databricks

Azure Databricks menyediakan banyak pengoptimalan yang mendukung berbagai beban kerja di lakehouse, mulai dari pemrosesan ETL skala besar hingga kueri interaktif ad-hoc. Banyak pengoptimalan ini berlangsung secara otomatis. Anda mendapatkan manfaatnya hanya dengan menggunakan Azure Databricks. Selain itu, sebagian besar fitur Databricks Runtime memerlukan Delta Lake, format default yang digunakan untuk membuat tabel di Azure Databricks.

Azure Databricks mengonfigurasi nilai default yang mengoptimalkan sebagian besar beban kerja. Namun, dalam beberapa kasus, mengubah pengaturan konfigurasi akan meningkatkan performa.

Peningkatan performa Databricks Runtime

Catatan

Gunakan Databricks Runtime terbaru untuk memanfaatkan peningkatan performa terbaru. Semua perilaku yang didokumenkan di sini diaktifkan secara default di Databricks Runtime 10.4 LTS ke atas.

  • Penyimpanan sementara disk mempercepat pembacaan berulang pada file data Parquet dengan memuat data ke volume disk yang terpasang pada kluster komputasi yang terhubung.
  • Pemangkasan file dinamis meningkatkan performa kueri dengan melewati direktori yang tidak berisi file data yang cocok dengan predikat kueri.
  • Penggabungan shuffle rendah mengurangi jumlah file data yang ditulis ulang oleh operasi MERGE dan mengurangi kebutuhan untuk menghitung ulang klaster ZORDER.
  • Apache Spark 3.0 memperkenalkan eksekusi kueri adaptif, yang memberikan performa yang ditingkatkan untuk banyak operasi.

Rekomendasi Databricks untuk peningkatan performa

  • Anda dapat mengkloning tabel di Azure Databricks untuk membuat salinan yang mendalam atau dangkal dari himpunan data sumber.
  • Pengoptimal berbasis biaya mempercepat performa kueri dengan memanfaatkan statistik tabel.
  • Anda dapat menggunakan Spark SQL untuk berinteraksi dengan string JSON tanpa mengurai string.
  • Fungsi tingkat tinggi menyediakan performa bawaan yang dioptimalkan untuk banyak operasi yang tidak memiliki operator Spark umum. Fungsi tingkat tinggi memberikan keuntungan kinerja dibandingkan fungsi yang didefinisikan pengguna.
  • Azure Databricks menyediakan sejumlah operator bawaan dan sintaks khusus untuk bekerja dengan jenis data kompleks, termasuk array, struct, dan string JSON.
  • Anda dapat menyetel pengaturan secara manual untuk penggabungan rentang. Lihat pengoptimalan penggabungan Rentang .

Perilaku keikutsertaan

  • Azure Databricks menyediakan jaminan isolasi tulis yang dapat diserialisasi secara default; mengubah tingkat isolasi menjadi keterbacaan serial dapat mengurangi throughput untuk operasi bersamaan, tetapi mungkin diperlukan ketika keterbacaan serial dibutuhkan.
  • Anda dapat menggunakan indeks filter mekar untuk mengurangi kemungkinan pemindaian file data yang tidak berisi rekaman yang cocok dengan kondisi tertentu.