Ipinamahagi ang Caching Sa Mga Variable ng Broadcast: Apache Spark



Tinatalakay ng post sa blog na ito ang ipinamamahagi na pag-cache sa mga variable ng pag-broadcast at nagsimula ka sa mahusay na pamamahagi ng malalaking halaga sa Spark program.

Ibinigay ni Prithviraj Bose





Ang mga variable ng broadcast ay kapaki-pakinabang kapag ang mga malalaking mga database ay kailangang i-cache sa mga tagapagpatupad. Ipinapaliwanag ng blog na ito kung paano magsimula.

Ano ang Mga Variable sa Broadcast?



Ang mga variable ng broadcast sa Apache Spark ay isang mekanismo para sa pagbabahagi ng mga variable sa mga tagapagpatupad na sinadya na maging read-only. Nang walang mga variable ng pag-broadcast ang mga variable na ito ay ipapadala sa bawat tagapagpatupad para sa bawat pagbabago at pagkilos, at maaari itong maging sanhi ng overhead ng network. Gayunpaman, sa mga variable ng pag-broadcast, ipinapadala ang mga ito nang isang beses sa lahat ng tagapagpatupad at na-cache para sa sanggunian sa hinaharap.

Broadcast Variable Gumamit ng kaso

Isipin na habang gumagawa ng isang pagbabago kailangan nating maghanap ng isang malaking talahanayan ng mga zip code / pin code. Dito, hindi magagawa na ipadala ang malaking talahanayan ng pagtingin sa bawat oras sa mga tagapagpatupad, o maaari rin tayong magtanong sa database sa bawat oras. Ang solusyon ay dapat na i-convert ang talahanayan ng pagtingin na ito sa isang variable ng pag-broadcast at i-cache ito ng Spark sa bawat tagapagpatupad para sa sanggunian sa hinaharap.

Kumuha tayo ng isang simpleng halimbawa upang maunawaan ang mga konsepto sa itaas. Mayroon kaming isang CSV file na may mga pangalan ng mga bansa at ang kanilang mga kapitol. Ang CSV file ay matatagpuan dito .



ano ang substring sa java

CSV-file-distributed-caching

Ipagpalagay na pinoproseso namin ang data ng demograpiko ng mga bansa at kailangan nating makuha ang kabisera ng bansang iyon. Sa kasong ito maaari naming mai-convert ang data sa CSV file sa isang variable ng pag-broadcast.

Una naming nai-load ang file ng CSV sa isang mapa, kung ang file ay matatagpuan pagkatapos ay bumalik ang pamamaraan Ilang mga bansa) kung hindi man ay nagbabalik ito Wala .

Matapos ang matagumpay na paglo-load ng CSV file ay binago namin ang mapa sa isang variable ng pag-broadcast at ginagamit ito sa aming programa.

Sa snippet ng code sa itaas ina-load namin ang CSV file sa isang mapa mga bansa pagkatapos ay binago namin ang map na iyon sa isang variable ng pag-broadcast mga bansaCache . Kasunod, lumilikha kami ng isang RDD mula sa mga susi ng mga bansa . Nasa searchCountryDetails pamamaraan na hinahanap namin ang lahat ng mga bansa na nagsisimula sa isang natukoy na sulat ng gumagamit at ang pamamaraan ay nagbabalik ng isang RDD ng mga bansa kasama ang kanilang mga kapitolyo. Ang variable ng pag-broadcast bansaieCache ay ginagamit para sa pagtingin sa mga kapitolyo.
Sa ganitong paraan hindi namin kailangang ipadala ang buong data ng CSV tuwing kailangan naming maghanap.

tableau sunud-sunod na tutorial

Ang code para sa searchCountryDetails ay ipinapakita sa ibaba,

Matatagpuan ang buong source code dito .

May tanong ba sa amin? Nabanggit ang mga ito sa seksyon ng komento at babalikan ka namin.

Mga Kaugnay na Post:

kung paano itakda ang landas ng java

Ipinaliwanag ang Spark Accumulator

Apache Spark pagsamahinByKey Ipinaliwanag