Overzicht van vonkcomponenten

Stel je voor dat je 1000 taken bij de hand hebt en heel weinig tijd om ze allemaal te voltooien. Iemand biedt u hulp door middelen aan te bieden die sommige taken van u kunnen afnemen en deze parallel met u kunnen uitvoeren, zodat alle taken op tijd worden voltooid. Dat iemand Spark voor jou is in computergebruik. Apache Spark is een open-source en gedistribueerd cluster computing-framework voor Big Data en biedt een geoptimaliseerde aanpak voor het uitvoeren van analyses op grote datasets. Het werkt 100 keer sneller dan Hadoop en biedt verschillende bibliotheken voor verschillende doeleinden, zoals het uitvoeren van SQL-bewerkingen, ML, streaming, grafiekverwerking, enz. Hieronder zullen we de verschillende componenten van Spark gedetailleerd bekijken.

Topcomponenten van Spark

Momenteel hebben we 6 componenten in Spark Ecosystem die Spark Core, Spark SQL, Spark Streaming, Spark MLlib, Spark GraphX ​​en SparkR zijn. Laten we eens kijken wat elk van deze componenten doet.

1. Vonkkern

Spark Core is, zoals de naam al doet vermoeden, de kerneenheid van een Spark-proces. Het zorgt voor taakplanning, foutherstel, geheugenbeheer en invoer-uitvoerbewerkingen, enz. Zie het als iets vergelijkbaars met CPU voor een computer. Het ondersteunt programmeertalen zoals Java, Scala, Python en R en biedt API's voor respectieve talen waarmee u uw ETL-taak kunt bouwen of analyses kunt uitvoeren. Alle andere componenten van Spark hebben hun eigen API's die bovenop Spark Core zijn gebouwd. Vanwege de parallelle verwerkingsmogelijkheden en de berekening in het geheugen kan Spark elke vorm van werk aan.

Spark Core wordt geleverd met een speciaal soort gegevensstructuur genaamd RDD (Resilient Distributed Dataset) die de gegevens verdeelt over alle knooppunten binnen een cluster. RDD's werken volgens een Lazy-evaluatieparadigma waarbij de berekening wordt opgeslagen en alleen wordt uitgevoerd wanneer dat nodig is. Dit helpt bij het optimaliseren van het proces door alleen de benodigde objecten te berekenen.

2. Spark SQL

Als u met Databases hebt gewerkt, begrijpt u het belang van SQL. Zou het niet extreem overweldigend zijn als dezelfde SQL-code N keer sneller werkt, zelfs op een grotere dataset? Spark SQL helpt u om gegevens over Spark te manipuleren met behulp van SQL. Het ondersteunt JDBC- en ODBC-verbindingen die een relatie leggen tussen Java-objecten en bestaande databases, datawarehouses en business intelligence-tools. Spark bevat iets dat Dataframes wordt genoemd. Dit zijn gestructureerde gegevensverzamelingen in de vorm van kolommen en rijen.

Met Spark kunt u met SQL aan deze gegevens werken. Dataframes zijn gelijk aan relationele tabellen en kunnen worden opgebouwd uit externe databases, gestructureerde bestanden of reeds bestaande RDD's. Dataframes hebben alle functies van RDD, zoals onveranderlijk, veerkrachtig, in het geheugen, maar met een extra functie om gestructureerd en gemakkelijk te werken te zijn. Dataframe API is ook beschikbaar in Scala, Python, R en Java.

3. Vonken streamen

Datastreaming is een techniek waarbij een continue stroom van realtime gegevens wordt verwerkt. Het vereist een raamwerk dat een lage latentie biedt voor analyse. Spark Streaming biedt dat en ook een high-throughput, fouttolerante en schaalbare API voor het in realtime verwerken van gegevens. Het wordt geabstraheerd op de Discretized Stream (DStream) die een stroom gegevens weergeeft die in kleine batches is verdeeld. DStream is gebouwd op RDD waardoor Spark Streaming naadloos werkt met andere vonkcomponenten. Enkele van de meest opvallende gebruikers van Spark.

Streaming is Netflix, Pinterest en Uber. Spark Streaming kan worden geïntegreerd met Apache Kafka, een ontkoppelings- en bufferplatform voor inputstreams. Kafka fungeert als de centrale hub voor realtime streams die worden verwerkt met behulp van algoritmen in Spark Streaming.

4. Spark MLLib

De belangrijkste attractie van Spark is het enorm opschalen van de berekening en deze functie is de belangrijkste vereiste voor elk Machine Learning-project. Spark MLLib is de machine learning-component van Spark die Machine Learning-algoritmen bevat zoals classificatie, regressie, clustering en collaboratieve filtering. Het biedt ook een plek voor functie-extractie, dimensionaliteitsreductie, transformatie, etc.

U kunt uw modellen ook opslaan en op grotere datasets uitvoeren zonder dat u zich zorgen hoeft te maken over de grootte. Het bevat ook hulpprogramma's voor lineaire algebra, statistieken en gegevensverwerking. Vanwege de in-memory-verwerking van Spark, fouttolerantie, schaalbaarheid en programmeergemak, kunt u met behulp van deze bibliotheek iteratieve ML-algoritmen eenvoudig uitvoeren.

5. GraphX

Graph Analytics bepaalt in principe de relaties tussen objecten in een grafiek, bijvoorbeeld de kortste afstand tussen twee punten. Dit helpt bij het optimaliseren van routes. Spark GraphX ​​API helpt bij de grafiek en grafiek-parallelle berekening. Het vereenvoudigt grafische analyse en maakt het sneller en betrouwbaarder. Een van de belangrijkste en bekendste toepassingen van grafische analyse is Google Maps.

Het ontdekt de afstand tussen twee locaties en geeft een optimale routesuggestie. Een ander voorbeeld kunnen suggesties van Facebook-vrienden zijn. GraphX ​​werkt met zowel grafieken als berekeningen. Spark biedt een reeks grafische algoritmen zoals paginarang, verbonden componenten, labelvoortplanting, SVD ++, sterk verbonden componenten en driehoekentelling.

6. SparkR

R is de meest gebruikte statistische taal die meer dan 10.000 pakketten voor verschillende doeleinden omvat. Het gebruikte API's voor gegevensframes, waardoor het gemakkelijk is om mee te werken en het biedt ook krachtige visualisaties voor de gegevenswetenschappers om hun gegevens grondig te analyseren. R ondersteunt echter geen parallelle verwerking en is beperkt tot de hoeveelheid geheugen die beschikbaar is in een enkele machine. Hier komt SparkR in beeld.

Spark heeft een pakket ontwikkeld dat bekend staat als SparkR, waarmee het schaalbaarheidsprobleem van R. wordt opgelost. Het is gebaseerd op gedistribueerde dataframes en biedt ook dezelfde syntaxis als de gedistribueerde Processing-engine van R. Spark en R's ongeëvenaarde interactiviteit, pakketten, visualisatie combineren om Data Scientists te geven wat ze willen voor hun analyses.

Conclusie

Aangezien Spark een raamwerk voor algemene doeleinden is, bevindt het zich in een breed scala aan toepassingen. Spark wordt veelvuldig gebruikt in de meeste big data-applicaties vanwege zijn prestaties en betrouwbaarheid. Al deze componenten van Spark worden bijgewerkt met nieuwe functies in elke nieuwe release en maken ons leven eenvoudiger.

Aanbevolen artikelen

Dit is een handleiding voor Spark Components. Hier bespreken we het overzicht en de top 6 componenten van vonk met een gedetailleerde uitleg. U kunt ook de volgende artikelen bekijken voor meer informatie -

  1. Top 5 belangrijke alternatieven bijenkorf
  2. Talend Open Studio Components / Tools
  3. Top 6 componenten van IoT Ecosysteem
  4. Wat is Talend Data-integratie met voordelen?

Categorie: