sql >> Database teknologi >  >> RDS >> Database

Bliv tændt af Apache Spark – Del 2

Tak for din tid; Jeg prøver bestemt at værdsætte din. I del 1 - vi diskuterede Apache Spark-biblioteker, Spark-komponenter som Driver, DAG Scheduler, Task Scheduler og Worker. Nu i del 2 - vil vi diskutere det grundlæggende i Spark-koncepter som Resilient Distributed Dataset, Shared Variables, SparkContext, Transformations, Action og fordele ved at bruge Spark sammen med eksempler og hvornår man skal bruge Spark.

RDD – Elastiske distribuerede datasæt

De er samlinger af serialiserbare elementer, og en sådan samling kan partitioneres, i hvilket tilfælde den er gemt i flere noder.

Det kan ligge i hukommelsen eller på disken.

Spark bruger RDD til at reducere I/O og vedligeholde de behandlede data i hukommelsen

RDD hjælper med at tolerere knudefejl og behøver ikke genstartes hele processen eller computeren

Det er typisk oprettet ud fra Hadoop-inputformatet eller fra transformation anvendt på eksisterende RDD'er.

RDD'er gemmer dens datalinje; hvis data går tabt Spark gentag slægten for at genopbygge de tabte RDD'er.

RDD'er er uforanderlige.

Delte variabler

Spark har to typer variabler, der tillader deling af information mellem udførelsesknuderne.

To variabler er broadcast- og akkumulatorvariabler.

Broadcast-variabler sendes alle til fjernudførelsesknuderne, svarende til MapReduce Configuration-objekter.

Akkumulatorer sendes alle også til fjernudførelsesknuder, med den begrænsning, at vi kun kan tilføje til akkumulatorvariablerne, svarende til MapReduce-tællere.

Sparkkontekst

Det er et objekt, der repræsenterer forbindelsen til en Spark-klynge.

Det bruges til at oprette RDD'er, udsende data og initialisere akkumulatorer.

Transformationer

Det er funktioner, der tager én RDD og returnerer en anden.

Transformationer vil aldrig ændre deres input, returnerer kun den ændrede RDD.

Det er altid doven, så de beregner ikke deres resultater. I stedet for at kalde en transformationsfunktion opretter man kun en ny RDD.

Hele sættet af ovennævnte transformationer udføres, når en handling kaldes.

Der er mange transformationer i Spark – map(), filter(), KeyBy(), Join(), groupByKey(), sort().

 Handling

Handlinger er metoder, der tager en RDD og udfører beregninger og returnerer resultatet til driverapplikationen.

Handling udløser beregningen af ​​transformationer, og resultaterne kan være en samling, værdier på skærmen, værdier gemt i fil.

Handling vil aldrig returnere en RDD.

Fordele

  • Enkelthed
  • Alsidighed
  • Reduceret disk I/O
  • Opbevaring
  • Flersproget
  • Ressourceadministratorens uafhængighed
  • Interaktiv skal (REPL)

Spark er ligesom andre big data-værktøjer kraftfuldt, dygtigt og velegnet til at tackle en række analytiske og big data-udfordringer.

Denne artikel blev oprindeligt vist her. Genudgivet med tilladelse. Indsend dine ophavsretsklager her.


  1. RETNING:MySQL – VÆLG kommando nægtet bruger

  2. Hvad har de olympiske lege, UEFA Euro 2016 fodboldkampe og databaser til fælles?

  3. Udfør dynamisk forespørgsel med go i sql

  4. MySQL-ækvivalent til Oracles SEQUENCE.NEXTVAL