Distribuirano keširanje s emitiranim varijablama: Apache Spark

Ovaj post na blogu raspravlja o distribuiranom predmemoriranju s varijablama emitiranja i započinje s učinkovitom distribucijom velikih vrijednosti u programu Spark.



Doprinos Prithviraj Bose

Emitirane varijable korisne su kada je potrebno velike predmete spremiti u predmemoriju izvršnika. Ovaj blog objašnjava kako započeti.

Što su emitirane varijable?



Emitirane varijable u Apache Sparku mehanizam su za dijeljenje varijabli između izvršitelja koje su namijenjene samo za čitanje. Bez emitiranih varijabli te bi se varijable dostavljale svakom izvršitelju za svaku transformaciju i radnju, a to može uzrokovati nadređene troškove mreže. Međutim, s varijablama emitiranja, one se isporučuju jednom svim izvršiteljima i predmemoriraju za buduću upotrebu.

kako stvoriti java paket

Slučaj upotrebe emitiranih varijabli

Zamislite da dok radimo transformaciju trebamo potražiti veliku tablicu poštanskih brojeva / pin kodova. Ovdje nije moguće svaki puta poslati veliku tablicu pretraživanja izvršiteljima, niti možemo svaki put ispitivati ​​bazu podataka. Rješenje bi trebalo biti pretvoriti ovu tablicu pretraživanja u varijable emitiranja i Spark će je predmemorirati u svakom izvršitelju za buduću referencu.

Uzmimo jednostavan primjer za razumijevanje gornjih koncepata. Imamo CSV datoteku s imenima država i njihovim glavnim gradovima. CSV datoteku možete pronaći ovdje .



CSV-file-distributed-caching

Pod pretpostavkom da obrađujemo demografske podatke zemalja i da moramo dobiti glavni grad te zemlje. U ovom slučaju podatke u CSV datoteci možemo pretvoriti u emitiranu varijablu.

Prvo učitavamo CSV datoteku na kartu, ako se datoteka pronađe, metoda se vraća Neke države) inače se vraća Nijedna .

Nakon uspješnog učitavanja CSV datoteke pretvaramo kartu u emitiranu varijablu i koristimo je u našem programu.

kako klonirati objekt u javi -

U isječku koda gore učitavamo CSV datoteku na kartu zemljama tada tu kartu pretvaramo u varijablu emitiranja predmemorija zemalja . Nakon toga kreiramo RDD od tipki zemljama . U searchCountryDetails Metodom pretražujemo sve zemlje počevši od korisnički definiranog slova, a metoda vraća RDD zemalja zajedno s njihovim glavnim gradovima. Promjenjiva varijabla countrieCache koristi se za traženje glavnih gradova.
Na ovaj način ne trebamo slati cjelokupne CSV podatke svaki put kad trebamo pretraživati.

Kôd za searchCountryDetails prikazano je dolje,

Može se pronaći cijeli izvorni kod ovdje .

Imate pitanje za nas? Spomenite ih u odjeljku za komentare i javit ćemo vam se.

Vezane objave:

Objašnjeni akumulatori iskri

Objašnjenje Apache SparkByKey