sql >> Databasteknik >  >> RDS >> Database

Bli tänd av Apache Spark – Del 2

Tack för din tid; Jag försöker definitivt värdera din. I del 1 - vi diskuterade Apache Spark-bibliotek, Spark-komponenter som Driver, DAG Scheduler, Task Scheduler och Worker. Nu i del 2 kommer vi att diskutera grunderna för Spark-koncept som Resilient Distributed Dataset, Shared Variables, SparkContext, Transformations, Action och fördelarna med att använda Spark tillsammans med exempel och när man ska använda Spark.

RDD – Fjädrande distribuerade datauppsättningar

De är samlingar av serialiserbara element och en sådan samling kan partitioneras i vilket fall den lagras i flera noder.

Det kan finnas i minnet eller på disken.

Spark använder RDD för att reducera I/O och underhålla bearbetade data i minnet

RDD hjälper till att tolerera nodfel och behöver inte starta om hela processen eller beräkningen

Vanligtvis skapas det från Hadoop-inmatningsformatet eller från transformation som tillämpas på befintliga RDD:er.

RDD:er lagrar dess datalinje; om data försvinner Spark replay lineage för att återskapa de förlorade RDD:erna.

RDD:er är oföränderliga.

Delade variabler

Spark har två typer av variabler som tillåter delning av information mellan exekveringsnoderna.

Två variabler är broadcast- och ackumulatorvariabler.

Broadcast-variabler skickas alla till fjärrexekveringsnoderna, liknande MapReduce Configuration-objekt.

Ackumulatorer skickas alla också till fjärrexekveringsnoder, med begränsningen att vi bara kan lägga till ackumulatorvariablerna, liknande MapReduce-räknare.

Sparkkontext

Det är ett objekt som representerar kopplingen till ett Spark-kluster.

Den används för att skapa RDD:er, sända data och initiera ackumulatorer.

Transformationer

Det är funktioner som tar en RDD och returnerar en annan.

Transformationer kommer aldrig att ändra sin inmatning, bara returnerar den modifierade RDD.

Det är alltid lat, så de beräknar inte sina resultat. Istället för att anropa en transformationsfunktion skapas bara en ny RDD.

Hela uppsättningen av ovan nämnda transformationer exekveras när en åtgärd anropas.

Det finns många transformationer i Spark – map(), filter(), KeyBy(), Join(), groupByKey(), sort().

 Åtgärd

Åtgärder är metoder som tar en RDD och utför beräkningar och returnerar resultatet till drivrutinsapplikationen.

Åtgärder utlöser beräkningen av transformationer, och resultaten kan vara en samling, värden på skärmen, värden sparade i fil.

Åtgärd kommer aldrig att returnera en RDD.

Fördelar

  • Enkelhet
  • Mångsidighet
  • Reducerad disk I/O
  • Lagring
  • Flerspråkig
  • Resurshanterarens oberoende
  • Interaktivt skal (REPL)

Spark, liksom andra big data-verktyg, är kraftfull, kapabel och väl lämpad för att ta itu med en rad analytiska och big data-utmaningar.

Denna artikel visades ursprungligen här. Återpubliceras med tillstånd. Skicka in dina upphovsrättsanspråk här.


  1. Hur kan jag dela upp en lång, enkel SQLiteOpenHelper i flera klasser, en för varje tabell

  2. PostgreSQL använd värde från föregående rad om det saknas

  3. Konfigurera en fjärransluten MySQL-databasanslutning

  4. Hur man uppdaterar befintliga data med SQLite