Caching Terdistribusi Dengan Variabel Siaran: Apache Spark



Entri blog ini membahas cache terdistribusi dengan variabel siaran & membantu Anda mulai mendistribusikan nilai besar secara efisien dalam pemrograman Spark.

Kontribusi Prithviraj Bose





Variabel siaran berguna ketika kumpulan data besar perlu di-cache di pelaksana. Blog ini menjelaskan cara memulai.

Apa Variabel Siaran?



apa kelas anonim di java

Variabel siaran di Apache Spark adalah mekanisme untuk berbagi variabel di seluruh pelaksana yang dimaksudkan untuk menjadi hanya-baca. Tanpa variabel siaran, variabel ini akan dikirim ke setiap pelaksana untuk setiap transformasi dan tindakan, dan ini dapat menyebabkan overhead jaringan. Namun, dengan variabel broadcast, mereka dikirim sekali ke semua pelaksana dan di-cache untuk referensi di masa mendatang.

Variabel Siaran Kasus penggunaan

Bayangkan saat melakukan transformasi kita perlu mencari tabel besar kode pos / kode pin. Di sini, tidak mungkin mengirim tabel pencarian besar setiap saat ke pelaksana, juga tidak dapat meminta database setiap saat. Solusinya adalah mengonversi tabel pencarian ini menjadi variabel siaran dan Spark akan menyimpannya dalam cache di setiap pelaksana untuk referensi di masa mendatang.

Mari kita ambil contoh sederhana untuk memahami konsep di atas. Kami memiliki file CSV dengan nama negara dan ibukotanya. File CSV dapat ditemukan sini .



CSV-file-distributed-caching

Dengan asumsi kita sedang memproses data demografis negara dan kita perlu mendapatkan ibu kota negara itu. Dalam hal ini kita dapat mengonversi data dalam file CSV menjadi variabel siaran.

Pertama kita memuat file CSV di peta, jika file ditemukan maka metode akan kembali Beberapa negara) kalau tidak, ia kembali Tidak ada .

Setelah berhasil memuat file CSV, kami mengonversi peta menjadi variabel siaran dan menggunakannya dalam program kami.

Dalam potongan kode di atas kami memuat file CSV ke peta negara lalu kami mengubah peta itu menjadi variabel siaran countriesCache . Selanjutnya, kami membuat RDD dari kunci negara . Dalam searchCountryDetails metode kami mencari semua negara dimulai dengan huruf yang ditentukan pengguna dan metode mengembalikan RDD negara bersama dengan ibukotanya. Variabel siaran countrieCache digunakan untuk mencari ibu kota.
Dengan cara ini kita tidak perlu mengirimkan seluruh data CSV setiap kali kita perlu melakukan pencarian.

Kode untuk searchCountryDetails ditampilkan di bawah,

Seluruh kode sumber dapat ditemukan sini .

Ada pertanyaan untuk kami? Sebutkan mereka di bagian komentar dan kami akan menghubungi Anda kembali.

Posting terkait:

Penjelasan Spark Accumulators

Apache Spark menggabungkanByKey Explained