Paskirstytasis talpinimas su transliuojamaisiais kintamaisiais: „Apache Spark“



Šiame tinklaraščio įraše aptariamas paskirstytasis talpinimas su transliuojamaisiais kintamaisiais ir pradedama efektyviai paskirstyti dideles vertes programuojant „Spark“.

Prisidėjo Prithviraj Bose





Transliavimo kintamieji yra naudingi, kai vykdytojams reikia talpinti didelius duomenų rinkinius. Šiame tinklaraštyje paaiškinta, kaip pradėti.

Kas yra transliacijos kintamieji?



„Apache Spark“ transliuojami kintamieji yra kintamųjų dalijimosi vykdytojams, kurie skirti tik skaityti, mechanizmas. Be transliuojamų kintamųjų šie kintamieji būtų siunčiami kiekvienam vykdytojui kiekvienai transformacijai ir veiksmui atlikti, ir tai gali sukelti tinklo pridėtines išlaidas. Tačiau su transliuojamaisiais kintamaisiais jie vieną kartą išsiunčiami visiems vykdytojams ir yra talpykloje, kad būtų galima juos naudoti ateityje.

python def __init __ (savarankiškai)

Transliacijos kintamieji naudojimo atvejis

Įsivaizduokite, kad atlikdami transformaciją turime ieškoti didelės pašto kodų / PIN kodų lentelės. Čia neįmanoma išsiųsti didelės paieškos lentelės kiekvieną kartą vykdytojams, taip pat negalime kiekvieną kartą pateikti užklausų duomenų bazėje. Sprendimas turėtų būti šios paieškos lentelės pavertimas transliacijos kintamaisiais, o „Spark“ ją talpykloje talpins kiekviename vykdytuve, kad būtų galima sužinoti ateityje.

Paimkime paprastą pavyzdį, kad suprastume minėtas sąvokas. Turime CSV failą su šalių ir jų sostinių pavadinimais. CSV failą galima rasti čia .



CSV-file-distributed-caching

Darant prielaidą, kad apdorojame šalių demografinius duomenis ir turime gauti tos šalies kapitalą. Tokiu atveju duomenis CSV faile galime konvertuoti į transliuojamą kintamąjį.

Pirmiausia įkeliame CSV failą į žemėlapį, jei failas randamas, metodas grąžinamas Kai kurios (šalys) kitaip jis grįžta Nė vienas .

Po sėkmingo CSV failo įkėlimo žemėlapį paverčiame transliuojamuoju kintamuoju ir naudojame jį savo programoje.

Viršuje esančiame kodo fragmente įkeliame CSV failą į žemėlapį šalyse tada tą žemėlapį paverčiame transliuojamuoju kintamuoju šalysTalpykla . Vėliau mes sukuriame RDD iš šalyse . Viduje searchCountryDetails metodas mes ieškome visų šalių, pradedant vartotojo apibrėžta raide, o metodas pateikia šalių RDD kartu su jų didžiosiomis raidėmis. Transliuojamas kintamasis countrieCache naudojamas ieškoti sostinių.
Tokiu būdu nereikia siųsti visų CSV duomenų kiekvieną kartą, kai reikia ieškoti.

Kodas searchCountryDetails yra parodyta žemiau,

Galima rasti visą šaltinio kodą čia .

Turite mums klausimą? Paminėkite juos komentarų skiltyje ir mes susisieksime su jumis.

Susijusios žinutės:

Kibirkščių akumuliatoriai paaiškinti

„Apache Spark combByKey“ paaiškinta