Hajautettu välimuisti lähetysmuuttujien kanssa: Apache Spark



Tässä blogiviestissä käsitellään hajautettua välimuistia lähetysmuuttujien kanssa ja pääset aloittamaan suurten arvojen tehokkaan jakamisen Spark-ohjelmoinnissa.

Lähettäjä Prithviraj Bose





Lähetysmuuttujat ovat hyödyllisiä, kun suuret tietojoukot täytyy tallentaa välimuistiin suorittajille. Tässä blogissa kerrotaan, miten pääset alkuun.

Mitä ovat lähetysmuuttujat?



Apache Sparkin lähetetyt muuttujat ovat mekanismi, jolla muuttujia voidaan jakaa vain lukijoiden keskuudessa. Ilman lähetysmuuttujia nämä muuttujat lähetetään jokaiselle suorittajalle jokaisesta muunnoksesta ja toiminnasta, ja tämä voi aiheuttaa verkon yleiskustannuksia. Lähetysmuuttujien kanssa ne toimitetaan kuitenkin kerran kaikille toteuttajille ja välimuistiin tulevaa käyttöä varten.

Broadcast-muuttujien käyttötapa

Kuvittele, että muunnosta tehtäessä meidän on haettava iso taulukko postinumeroista / PIN-koodeista. Tässä ei ole mahdollista lähettää suurta hakutaulukkoa joka kerta toteuttajille, emmekä voi kysyä tietokannasta joka kerta. Ratkaisun pitäisi olla tämän hakutaulukon muuntaminen lähetysmuuttujiksi, ja Spark tallentaa sen välimuistiin jokaiseen toimeenpanijaan myöhempää tarvetta varten.

Otetaan yksinkertainen esimerkki ymmärtääksemme yllä olevat käsitteet. Meillä on CSV-tiedosto, joka sisältää maiden ja niiden pääkaupunkien nimet. CSV-tiedosto löytyy tässä .



kokki vs nukke vs suola

CSV-file-distributed-caching

Olettaen, että käsittelemme maiden väestötietoja, ja meidän on saatava kyseisen maan pääoma. Tässä tapauksessa voimme muuntaa CSV-tiedoston tiedot lähetysmuuttujaksi.

Ensin ladataan CSV-tiedosto karttaan, jos tiedosto löytyy, menetelmä palaa Jotkut maat) muuten se palaa Ei mitään .

CSV-tiedoston lataamisen jälkeen muunnamme kartan lähetysmuuttujaksi ja käytämme sitä ohjelmassa.

Yllä olevassa koodinpätkässä lataamme CSV-tiedoston karttaan maat sitten muunnamme kartan lähetysmuuttujaksi countriesCache . Seuraavaksi luomme RDD: n maat . vuonna searchCountryDetails menetelmä etsimme kaikki maat, jotka alkavat käyttäjän määrittelemällä kirjaimella, ja menetelmä palauttaa maiden RDD: n yhdessä niiden isojen kirjainten kanssa. Lähetysmuuttuja countrieCache käytetään pääkaupunkien etsimiseen.
Tällä tavoin meidän ei tarvitse lähettää kaikkia CSV-tietoja aina, kun meidän on haettava.

Koodin searchCountryDetails on esitetty alla,

Koko lähdekoodi löytyy tässä .

Onko sinulla kysymys meille? Mainitse ne kommenttiosassa ja palaamme sinuun.

Aiheeseen liittyvät julkaisut:

Kipinäakut selitetty

Apache Spark -yhdistelmäByKey selittää