Pregled komponenti svjećica
Zamislite da imate 1000 zadataka pri ruci i vrlo malo vremena da ih završite. Netko vam nudi pomoć pružajući resurse koji mogu uzeti neke zadatke iz vaše ruke i obavljati ih paralelno s vama, tako da svi zadaci budu izvršeni na vrijeme. Da je netko Spark za tebe u računarskom smislu. Apache Spark je računalni okvir otvorenog i distribuiranog klastera za velike podatke i pruža optimizirani pristup za obavljanje analitike na velikim skupovima podataka. Djeluje 100 puta brže od Hadoopa i pruža različite biblioteke u različite svrhe poput izvođenja SQL operacija, ML, Streaming, Grafička obrada itd. Ispod ćemo detaljno vidjeti različite komponente iskra.
Glavne komponente iskre
Trenutno u Spark Ekosustavu imamo 6 komponenti koje su Spark Core, Spark SQL, Spark Streaming, Spark MLlib, Spark GraphX i SparkR. Pogledajmo što svaka od ovih komponenti radi.
1. Spark Core
Spark Core je, kao što i ime sugerira, temeljna jedinica Spark procesa. Vodi brigu o rasporedu zadataka, oporavku grešaka, upravljanju memorijom i ulazno-izlaznim operacijama itd. Zamislite to kao nešto slično CPU-u s računalom. Podržava programske jezike kao što su Java, Scala, Python i R i pruža API za odgovarajuće jezike pomoću kojih možete graditi ETL posao ili raditi analitiku. Sve ostale komponente Sparka imaju svoje API-je koji su izgrađeni na vrhu Spark Core-a. Zbog svojih mogućnosti paralelne obrade i izračunavanja memorije, Spark može podnijeti bilo koju vrstu posla.
Spark Core dolazi s posebnom vrstom strukture podataka nazvanom RDD (Resilient Distributed Dataset) koja distribuira podatke po svim čvorovima unutar klastera. RDD-ovi rade na paradigmi Lazy evaluacije u kojoj se izračun pamti i izvodi samo kad je to potrebno. To pomaže u optimizaciji procesa računanjem samo potrebnih objekata.
2. Iskrijte SQL
Ako ste surađivali s Bazama podataka, shvatili ste važnost SQL-a. Ne bi li bilo iznimno neodoljivo ako isti SQL kôd radi N puta brže čak i na većem skupu podataka? Spark SQL pomaže vam manipulirati podacima na Sparku koristeći SQL. Podržava JDBC i ODBC veze koje uspostavljaju vezu između Java objekata i postojećih baza podataka, skladišta podataka i alata poslovne inteligencije. Spark uključuje nešto što se naziva Dataframes (Strukture podataka) koje su strukturirano skupljanje podataka u obliku stupaca i redaka.
Spark vam omogućuje rad na ovim podacima sa SQL-om. Okviri podataka ekvivalentni su relacijskim tablicama i mogu se konstruirati iz bilo koje vanjske baze podataka, strukturiranih datoteka ili već postojećih RDD-ova. Okviri podataka imaju sve značajke RDD-a kao što su nepromjenjiva, otporna, memorija, ali s dodatnom značajkom su strukturirani i s njima je lako raditi. API za podatkovni okvir dostupan je i u Scala, Python, R i Java.
3. Iskrivanje struje
Streaming podataka je tehnika gdje se obrađuje kontinuirani tok podataka u stvarnom vremenu. Potreban je okvir koji nudi nisku latenciju za analizu. Sparking streaming pruža to, a također visoku propusnost, otpornost na greške i skalabilan API za obradu podataka u stvarnom vremenu. Abstrahiran je na Diskretiziranom toku (DStream) koji predstavlja niz podataka podijeljenih u male serije. DStream je izgrađen na RDD-u, zbog čega Spark Streaming neometano radi s ostalim komponentama iskre. Neki od najistaknutijih korisnika Sparka.
Streaming su Netflix, Pinterest i Uber. Streaming streaming može se integrirati s Apache Kafka koja je platforma za odvajanje i pufer za ulazne tokove. Kafka djeluje kao središnje središte za tokove u stvarnom vremenu koji se obrađuju pomoću algoritama u Spark Streamingu.
4. Iskrivi MLLib
Spark-ova glavna atrakcija je masovno povećavanje računanja, a ovo je svojstvo najvažniji zahtjev za svaki projekt strojnog učenja. Spark MLLib je komponenta strojnog učenja Spark koja sadrži algoritme strojnog učenja, kao što su klasifikacija, regresija, grupiranje i kolaborativno filtriranje. Također nudi mjesto za izdvajanje značajki, smanjenje dimenzija, transformaciju itd.
Također možete spremiti svoje modele i pokretati ih na većim setovima podataka bez brige o problemima s veličinom. Sadrži i uslužne programe za linearnu algebru, statistiku i rukovanje podacima. Zbog Sparkove obrade memorije, tolerancije grešaka, skalabilnosti i jednostavnosti programiranja uz pomoć ove knjižnice možete lako pokrenuti iterativne ML algoritme.
5. GraphX
Grafička analitika u osnovi određuje odnose između objekata na grafikonu, na primjer, najkraća udaljenost između dviju točaka. To pomaže u optimizaciji ruta. Spark GraphX API pomaže u izračunavanju grafova i paralelnih grafova. Pojednostavljuje analizu grafova i čini je bržom i pouzdanijom. Jedna od glavnih i dobro poznatih aplikacija analitike grafova je Google Maps.
Otkriva udaljenost između dviju lokacija i daje optimalan prijedlog rute. Drugi primjer mogu biti prijedlozi prijatelja Facebooka. GraphX radi i s grafikonima i s računanjem. Spark nudi niz algoritama grafikona poput ranga stranice, povezanih komponenata, širenja naljepnica, SVD ++, snažno povezanih komponenti i broja trokuta.
6. SparkR
R je najrašireniji statistički jezik koji sadrži više od 10 000 paketa u različite svrhe. Koristio je API okvire podataka što ga čini prikladnim za rad i također pruža moćne vizualizacije za znanstvenike podataka da temeljito analiziraju svoje podatke. Međutim, R ne podržava paralelnu obradu i ograničena je na količinu memorije dostupne u jednom stroju. Ovdje SparkR ulazi u sliku.
Spark je razvio paket poznat kao SparkR koji rješava pitanje skalabilnosti R. Temelji se na distribuiranim okvirima podataka i također nudi istu sintaksu kao R. Sparkin distribuirani procesor i R neusporedivu interaktivnost, paketi i vizualizacija kombiniraju se kako bi dali znanstvenicima podataka ono žele za svoje analize.
Zaključak
Budući da je Spark okvir opće namjene, našao se u širokom rasponu primjena. Spark se široko koristi u većini velikih podataka zbog svojih performansi i pouzdanosti. Sve ove komponente Sparka u svakom se novom izdanju ažuriraju s novim značajkama i čine nam život lakšim.
Preporučeni članci
Ovo je vodič za svjećaste komponente. Ovdje ćemo detaljno objasniti pregled i prvih 6 komponenti iskre. Možete pogledati i sljedeće članke da biste saznali više -
- Top 5 važnijih mogućnosti košnice
- Talend Komponente / Alati za Open Studio
- Top 6 komponenti IoT ekosustava
- Što je integracija podataka Talend s prednostima?