Bagikan melalui


Praktik terbaik konfigurasi komputasi

Artikel ini menjelaskan rekomendasi untuk mengatur konfigurasi komputasi opsional. Untuk mengurangi keputusan konfigurasi, Azure Databricks merekomendasikan untuk memanfaatkan kebijakan komputasi dan komputasi tanpa server.

  • Komputasi tanpa server tidak memerlukan konfigurasi pengaturan komputasi. Komputasi tanpa server selalu tersedia dan diskalakan sesuai dengan beban kerja Anda. Lihat Jenis komputasi.

  • Kebijakan komputasi memungkinkan Anda membuat komputasi yang telah dikonfigurasi sebelumnya yang dirancang untuk kasus penggunaan tertentu seperti komputasi pribadi, komputasi bersama, pengguna daya, dan pekerjaan. Jika Anda tidak memiliki akses ke kebijakan, hubungi admin ruang kerja Anda. Lihat Kebijakan default dan keluarga kebijakan.

Jika Anda memilih untuk membuat komputasi dengan konfigurasi Anda sendiri, bagian di bawah ini memberikan rekomendasi untuk kasus penggunaan umum.

Catatan

Artikel ini mengasumsikan bahwa Anda memiliki pembuatan kluster yang tidak dibatasi. Admin ruang kerja hanya boleh memberikan hak istimewa ini kepada pengguna tingkat lanjut.

Pertimbangan ukuran komputasi

Orang sering memikirkan ukuran komputasi dalam hal jumlah pekerja, tetapi ada faktor penting lainnya yang perlu dipertimbangkan:

  • Total core eksekutor (komputasi): Jumlah total core di semua eksekutor. Ini menentukan paralelisme maksimum komputasi.
  • Total memori eksekutor: Jumlah total RAM di semua eksekutor. Ini menentukan jumlah data yang dapat disimpan dalam memori sebelum meluapkannya ke disk.
  • Penyimpanan lokal eksekutor: Jenis dan jumlah penyimpanan disk lokal. Disk lokal utamanya digunakan dalam kasus peluapan selama pengacakan dan penembolokan.

Pertimbangan tambahan meliputi jenis dan ukuran instans pekerja, yang juga memengaruhi faktor-faktor di atas. Saat mengukur komputasi Anda, pertimbangkan:

  • Berapa banyak data yang akan dikonsumsi beban kerja Anda?
  • Apa kompleksitas komputasi beban kerja Anda?
  • Dari mana Anda membaca data?
  • Bagaimana data dipartisi dalam penyimpanan eksternal?
  • Berapa banyak paralelisme yang Anda butuhkan?

Menjawab pertanyaan-pertanyaan ini akan membantu Anda menentukan konfigurasi komputasi yang optimal berdasarkan beban kerja.

Ada tindakan penyeimbangan antara jumlah pekerja dan ukuran jenis instans pekerja. Mengonfigurasi komputasi dengan dua pekerja, masing-masing dengan 16 core dan RAM 128 GB, memiliki komputasi dan memori yang sama dengan mengonfigurasi komputasi dengan 8 pekerja, masing-masing dengan 4 core dan RAM 32 GB.

Contoh ukuran komputasi

Contoh berikut menunjukkan rekomendasi komputasi berdasarkan jenis beban kerja tertentu. Contoh-contoh ini juga mencakup konfigurasi yang harus dihindari dan alasan konfigurasi tersebut tidak cocok untuk jenis beban kerjanya.

Analisis data

Analis data biasanya melakukan pemrosesan yang membutuhkan data dari beberapa partisi, yang mengarah ke banyak operasi acak. Komputasi dengan jumlah simpul yang lebih kecil dapat mengurangi jaringan dan I/O disk yang diperlukan untuk melakukan pengacakan ini.

Jika Anda hanya menulis SQL, opsi terbaik untuk analisis data akan menjadi gudang SQL tanpa server.

Catatan

Jika ruang kerja Anda diaktifkan untuk pratinjau publik komputasi tanpa server, Anda dapat menggunakan komputasi tanpa server untuk menjalankan analisis di Python atau SQL. Lihat Komputasi tanpa server untuk buku catatan.

Jika Anda harus mengonfigurasi komputasi baru, komputasi simpul tunggal dengan jenis VM besar kemungkinan merupakan pilihan terbaik, terutama untuk satu analis.

Beban kerja analitis kemungkinan akan memerlukan pembacaan data yang sama berulang kali, sehingga jenis node yang direkomendasikan dioptimalkan penyimpanan dengan cache disk diaktifkan.

Fitur tambahan yang direkomendasikan untuk beban kerja analitis meliputi:

  • Aktifkan penghentian otomatis untuk memastikan komputasi dihentikan setelah periode tidak aktif.
  • Pertimbangkan untuk mengaktifkan penskalaan otomatis berdasarkan beban kerja tipikal analis.
  • Pertimbangkan untuk menggunakan kumpulan, yang akan memungkinkan pembatasan komputasi untuk jenis instans yang disetujui sebelumnya dan memastikan konfigurasi komputasi yang konsisten.

ETL batch dasar

Catatan

Jika ruang kerja Anda diaktifkan untuk komputasi tanpa server untuk alur kerja (Pratinjau Umum), Anda dapat menggunakan komputasi tanpa server untuk menjalankan pekerjaan Anda. Lihat Komputasi tanpa server untuk buku catatan.

Pekerjaan ETL batch sederhana yang tidak memerlukan transformasi luas, seperti gabungan atau agregasi, biasanya mendapat manfaat dari jenis pekerja yang dioptimalkan komputasi.

Pekerja yang dioptimalkan komputasi memiliki persyaratan yang lebih rendah untuk memori dan penyimpanan dan dapat mengakibatkan penghematan biaya dibandingkan jenis pekerja lain.

ETL batch kompleks

Catatan

Jika ruang kerja Anda diaktifkan untuk komputasi tanpa server untuk alur kerja (Pratinjau Umum), Anda dapat menggunakan komputasi tanpa server untuk menjalankan pekerjaan Anda. Lihat Komputasi tanpa server untuk buku catatan.

Untuk pekerjaan ETL yang kompleks, seperti yang memerlukan gabungan dan gabungan di beberapa tabel, Databricks merekomendasikan pengurangan jumlah pekerja untuk mengurangi jumlah data yang diacak.

Transformasi kompleks dapat menjadi komputasi intensif. Jika Anda mengamati tumpahan signifikan ke kesalahan disk atau OOM, Anda harus menambahkan simpul tambahan.

Databricks merekomendasikan jenis pekerja yang dioptimalkan komputasi. Pekerja yang dioptimalkan komputasi memiliki persyaratan yang lebih rendah untuk memori dan penyimpanan dan dapat mengakibatkan penghematan biaya dibandingkan jenis pekerja lain. Secara opsional, gunakan kumpulan untuk mengurangi waktu peluncuran komputasi dan mengurangi total runtime saat menjalankan alur pekerjaan.

Pelatihan model pembelajaran mesin

Databricks merekomendasikan komputasi simpul tunggal dengan jenis node besar untuk eksperimen awal dengan melatih model pembelajaran mesin. Memiliki lebih sedikit simpul mengurangi dampak acak.

Menambahkan lebih banyak pekerja dapat membantu stabilitas, tetapi Anda harus menghindari penambahan terlalu banyak pekerja karena overhead data pengacakan.

Jenis pekerja yang direkomendasikan adalah penyimpanan yang dioptimalkan dengan penembolokan disk yang diaktifkan untuk memperhitungkan pembacaan berulang dari data yang sama dan untuk mengaktifkan penembolokan data pelatihan. Jika opsi komputasi dan penyimpanan yang disediakan oleh node yang dioptimalkan penyimpanan tidak mencukupi, pertimbangkan node yang dioptimalkan GPU. Kelemahan yang mungkin adalah kurangnya dukungan penembolokan disk dengan simpul ini.

Fitur tambahan yang direkomendasikan untuk beban kerja pembelajaran mesin meliputi:

  • Aktifkan penghentian otomatis untuk memastikan komputasi dihentikan setelah periode tidak aktif.
  • Gunakan kumpulan, yang akan memungkinkan pembatasan komputasi untuk jenis instans yang disetujui sebelumnya dan memastikan konfigurasi komputasi yang konsisten.