Distribuované mezipaměti s proměnnými vysílání: Apache Spark



Tento příspěvek na blogu pojednává o distribuovaném ukládání do mezipaměti s proměnnými všesměrového vysílání a umožňuje vám začít efektivně distribuovat velké hodnoty v programování Spark.

Přispěl Prithviraj Bose





Broadcastové proměnné jsou užitečné, když je potřeba ukládat do exekutorů velké datové sady. Tento blog vysvětluje, jak začít.

Co jsou proměnné vysílání?



Broadcast variables in Apache Spark is a mechanism for sharing variables across executors that are intended to be read-only. Bez proměnných všesměrového vysílání by tyto proměnné byly dodávány každému vykonavateli pro každou transformaci a akci, což může způsobit režii sítě. S proměnnými všesměrového vysílání se však dodávají jednou všem vykonavatelům a ukládají se do mezipaměti pro budoucí použití.

Broadcast Variables Případ použití

Představte si, že při transformaci musíme vyhledat velkou tabulku PSČ / PIN kódů. Tady není možné poslat pokaždé velkou vyhledávací tabulku exekutorům, ani nemůžeme pokaždé dotazovat databázi. Řešením by mělo být převést tuto vyhledávací tabulku na vysílané proměnné a Spark ji uloží do mezipaměti u každého exekutora pro budoucí použití.

periodická tabulka nástrojů devops

Vezměme si jednoduchý příklad k pochopení výše uvedených konceptů. Máme soubor CSV se jmény zemí a jejich hlavními městy. Soubor CSV lze nalézt tady .



CSV-file-distributed-caching

Za předpokladu, že zpracováváme demografické údaje zemí a potřebujeme získat kapitál této země. V tomto případě můžeme převést data v souboru CSV na vysílanou proměnnou.

Nejprve načteme soubor CSV do mapy, pokud je soubor nalezen, metoda se vrátí Některé země) jinak se vrátí Žádný .

Po úspěšném načtení souboru CSV převedeme mapu na vysílanou proměnnou a použijeme ji v našem programu.

Ve výše uvedeném fragmentu kódu načteme soubor CSV do mapy zemí pak tuto mapu převedeme na vysílanou proměnnou countriesCache . Následně vytvoříme RDD z klíčů zemí . V searchCountryDetails metoda vyhledáme všechny země počínaje uživatelem definovaným písmenem a metoda vrátí RDD zemí spolu s jejich hlavicemi. Proměnná vysílání countrieCache slouží k vyhledávání hlavních měst.
Tímto způsobem nemusíme posílat všechna data CSV pokaždé, když potřebujeme hledat.

Kód pro searchCountryDetails je zobrazen níže,

Celý zdrojový kód najdete tady .

Máte na nás dotaz? Uveďte je v sekci komentářů a my se vám ozveme.

Související příspěvky:

Vysvětlení jiskrových akumulátorů

Apache Spark combineByKey vysvětleno