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 Runtime Databricks

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.

  • Penembolokan disk mempercepat pembacaan berulang terhadap file data Parquet dengan memuat data ke volume disk yang dilampirkan ke kluster komputasi.
  • Pemangkasan file dinamis meningkatkan performa kueri dengan melewati direktori yang tidak berisi file data yang cocok dengan predikat kueri.
  • Penggabungan acak rendah mengurangi jumlah file data yang ditulis ulang oleh MERGE operasi dan mengurangi kebutuhan untuk menghitung ZORDER ulang kluster.
  • 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 himpunan data sumber yang mendalam atau dangkal.
  • Pengoptimal berbasis biaya mempercepat performa kueri dengan memanfaatkan statistik tabel.
  • Anda dapat menggunakan Spark SQL untuk berinteraksi dengan string JSON tanpa mengurai string.
  • Fungsi urutan yang lebih tinggi memberikan performa bawaan dan dioptimalkan untuk banyak operasi yang tidak memiliki operator Spark umum. Fungsi pesanan yang lebih tinggi memberikan manfaat performa daripada fungsi yang ditentukan 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 gabungan rentang. Lihat Pengoptimalan gabungan rentang.

Perilaku keikutsertaan

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