Elosztott gyorsítótárazás sugárzott változókkal: Apache Spark

Ez a blogbejegyzés az elosztott gyorsítótárat tárgyalja sugárzott változókkal, és elkezdi a nagy értékek hatékony elosztását a Spark programozásban.



Közreműködött: Prithviraj Bose



A műsorszórási változók akkor hasznosak, ha a végrehajtókban nagy adatkészleteket kell tárolni. Ez a blog elmagyarázza, hogyan kell elindulni.

Mik azok a Broadcast változók?



Az Apache Spark adásváltozói egy olyan mechanizmus, amely lehetővé teszi a változók megosztását a végrehajtók között, amelyek csak olvashatók. Sugárzott változók nélkül ezeket a változókat minden végrehajtóhoz elküldjük minden átalakítás és művelet során, és ez hálózati rezsit okozhat. A sugárzási változókkal azonban ezeket egyszer elküldik az összes végrehajtónak, és a későbbi használat céljából tárolják őket.

mire használják az adattudományt

Broadcast Variables Felhasználási eset

Képzelje el, hogy egy átalakítás során meg kell keresnünk egy nagy táblázatot az irányítószámokból és a PIN kódokból. Itt sem kivitelezhető, hogy minden alkalommal elküldjük a nagy keresőtáblát a végrehajtóknak, és nem is tudunk minden alkalommal lekérdezni az adatbázist. Megoldásnak kell lennie, ha ezt a keresőtáblát konvertálja sugárzási változókká, és a Spark minden végrehajtóba gyorsítótárba helyezi a későbbi felhasználás céljából.

Vegyünk egy egyszerű példát a fenti fogalmak megértéséhez. Van egy CSV fájlunk, amely tartalmazza az országok és azok fővárosainak nevét. A CSV fájl megtalálható itt .



CSV-file-distributed-caching

Feltéve, hogy az országok demográfiai adatait feldolgozzuk, és meg kell szereznünk az ország tőkéjét. Ebben az esetben konvertálhatjuk a CSV fájlban lévő adatokat broadcast változóvá.

Először a CSV fájlt töltjük be egy térképbe, ha a fájl megtalálható, akkor a metódus visszatér Néhány ország) különben visszatér Egyik sem .

A CSV fájl sikeres betöltése után a térképet konvertáljuk sugárzott változóvá, és felhasználjuk a programunkban.

A fenti kódrészletben a CSV fájlt feltöltjük egy térképre országok akkor azt a térképet konvertáljuk sugárzott változóvá countriesCache . Ezt követően létrehozunk egy RDD-t a országok . Ban,-ben searchCountryDetails módszer az összes országot egy felhasználó által definiált betűvel kezdjük, és a módszer az országok RDD-jét adja vissza a fővárosukkal együtt. A sugárzott változó countrieCache a nagybetűk felkutatására szolgál.
Így nem kell minden CSV-adatot elküldenünk, amikor keresni kell.

A. Kódja searchCountryDetails látható alább,

A teljes forráskód megtalálható itt .

Van egy kérdésünk? Említse meg őket a megjegyzés rovatban, és kapcsolatba lépünk Önnel.

Kapcsolódó hozzászólások:

Szikra akkumulátorok megmagyarázva

Apache Spark combByKey magyarázata