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 dari pengoptimalan ini berlangsung secara otomatis. Anda mendapatkan manfaatnya hanya dengan menggunakan Azure Databricks. Selain itu, sebagian besar fitur Databricks Runtime memerlukan Delta Lake, lapisan penyimpanan 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.

  • Penembolokan disk mempercepat pembacaan berulang terhadap file data Parquet dengan memuat data ke volume disk yang terpasang pada kluster komputasi.
  • Pemangkasan file dinamis meningkatkan performa kueri dengan melewatkan 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 mengolah 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 data JSON semi terstruktur tanpa mengurai string.
  • Fungsi urutan yang lebih tinggi memberikan performa bawaan dan dioptimalkan untuk banyak operasi yang tidak memiliki operator Spark umum. Fungsi urutan 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 yang kompleks, termasuk array, struct, dan string JSON.
  • Anda dapat menyetel pengaturan secara manual untuk gabungan yang menyertakan rentang atau berisi data dengan kecondongan substansial.

Perilaku keikutsertaan

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