lär SparkContext-introduktion och funktioner
Håll dig uppdaterad med senaste tekniktrender
gå med i DataFlair på Telegram!!
- mål
- Vad är SparkContext i Apache Spark?
- hur man skapar SparkContext klass?
- stoppa SparkContext
- Spark Scala ordräkning exempel
- funktioner SparkContext i Apache Spark
- i. För att få aktuell status för Spark-applikationen
- ii. för att ställa in konfigurationen
- iii. För att komma åt olika tjänster
- iv. för att avbryta ett jobb
- v. För att avbryta ett steg
- vi. för Stängningsrengöring i Spark
- vii. för att registrera Spark listener
- viii. Programmerbar dynamisk allokering
- ix. för att komma åt persistent RDD
- x. för att unpersist rdd: er
- slutsats
mål
SparkContext är ingångsporten för Apache Spark-funktionalitet. Det viktigaste steget i alla Spark driver-applikationer är att generera SparkContext. Det gör att din Spark-applikation kan komma åt Spark Cluster med hjälp av Resource Manager (garn/Mesos). För att skapa SparkContext bör första SparkConf göras. SparkConf har en konfigurationsparameter som vår Spark driver-applikation kommer att passera till SparkContext.
i denna Apache Spark-handledning kommer vi djupt att förstå vad som är SparkContext i Spark. Hur man skapar SparkContext klass i Spark med hjälp av Spark-Scala word count program. Vi kommer också att lära oss olika uppgifter om SparkContext och hur man stoppar SparkContext i Apache Spark.
så, låt oss börja SparkContext handledning.
lär dig SparkContext – introduktion och funktioner
lär dig hur du installerar Apache Spark i fristående läge och Apache Spark-installation i ett kluster med flera noder.
Vad är SparkContext i Apache Spark?
SparkContext är ingångspunkten för Gnistfunktionalitet. Det viktigaste steget i alla Spark driver-applikationer är att generera SparkContext. Det gör att din Spark-applikation kan komma åt Spark Cluster med hjälp av Resource Manager. Resurshanteraren kan vara en av dessa tre gnistor fristående, garn, Apache Mesos.
hur man skapar SparkContext klass?
Om du vill skapa SparkContext bör först SparkConf göras. SparkConf har en konfigurationsparameter som vår Spark driver-applikation kommer att passera till SparkContext. Några av dessa parametrar definierar egenskaperna hos Spark driver ansökan. Medan vissa används av Spark för att allokera resurser på klustret, som nummer, minnesstorlek och kärnor som används av exekutör som körs på arbetarnoderna.
kort sagt, det guider hur man kommer åt Spark cluster. Efter skapandet av ett SparkContext-objekt kan vi åberopa funktioner som textFile, sequenceFile, parallelize etc. De olika sammanhang där den kan köras är lokal, garn-klient, Mesos URL och Spark URL.
När SparkContext skapas, kan den användas för att skapa rdd, broadcast variabel och ackumulator, ingress Spark service och köra jobb. Alla dessa saker kan utföras tills SparkContext stoppas.
stoppa SparkContext
endast en SparkContext kan vara aktiv per JVM. Du måste stoppa den aktiva den innan du skapar en ny enligt nedan:
stop(): Enhet
det kommer att visa följande meddelande:
INFO SparkContext: framgångsrikt stoppat SparkContext
Spark Scala ordräkning exempel
Låt oss se hur man skapar SparkContext med SparkConf med hjälp av Spark-Scala ordräkning exempel-
paket com.dataflair.spark
importera org.Apache.gnista.SparkContext
importera org.Apache.gnista.SparkConf
objekt Wordcount {
Def Huvud (args: Array) {
//skapa conf objekt
val conf = nya SparkConf ()
.setAppName(”WordCount”)
//create spark context object
val sc = new SparkContext(conf)
//Check whether sufficient params are supplied
if (args.length < 2) {
println(”Usage: ScalaWordCount <input><output>”)
System.exit(1)
}
//Read file and create RDD
val rawData = sc.textFile(args(0))
//convert the lines into words using flatMap operation
val words = rawData.flatMap(line => line.split (” ”))
//räkna de enskilda orden med hjälp av map och reduceByKey operation
val wordCount = ord.karta (word => (word, 1)).reduceByKey (_ +_)
//Spara resultatet
wordCount.saveAsTextFile(args (1))
//stoppa gnistan sammanhang
sc.stoppa
}
}
funktioner SparkContext i Apache Spark
10 Viktiga funktioner SparkContext i Apache Spark
i. För att få aktuell status för Spark-applikationen
- SpkEnv-det är en runtime-miljö med Sparks offentliga tjänster. Det interagerar med varandra för att skapa en distribuerad datorplattform för Spark-applikation. Ett SparkEnv-objekt som innehåller de nödvändiga runtime-tjänsterna för att köra Spark-applikationen med den olika miljön för föraren och exekutören representerar Spark runtime-miljön.
- SparkConf-Spark-egenskaperna hanterar maximala applikationsinställningar och konfigureras separat för varje applikation. Vi kan också enkelt ställa in dessa egenskaper på en SparkConf. Några vanliga egenskaper som huvud-URL och Applikationsnamn, samt ett godtyckligt nyckelvärdespar, konfigurerat genom set ()-metoden.
- Deployment environment (som huvud – URL) – Spark deployment environment är av två typer, nämligen lokala och grupperade. Lokalt läge är icke-distribuerat läge för enkel JVM-distribution. Alla exekveringskomponenter-driver, executor, LocalSchedulerBackend och master finns i samma enda JVM. Därför är det enda läget där drivrutiner är användbara för körning det lokala läget. För testning, felsökning eller demonstrationsändamål är det lokala läget lämpligt eftersom det inte kräver någon tidigare inställning för att starta spark-applikationen. I klustrat läge körs gnistan i distributionsläge. Lär dig Spark Cluster Manager i detalj.
ii. för att ställa in konfigurationen
- Master URL-mastermetoden returnerar det aktuella värdet för spark.master som är driftsättningsmiljö i bruk.
- lokala egenskaper-skapa logiska Jobbgrupper-orsaken till lokala egenskaper konceptet är att bilda logiska grupper av jobb med hjälp av egenskaper som skapar separata jobb lanseras från olika trådar tillhör en enda logik grupp. Vi kan ställa in en lokal egendom som kommer att påverka Gnistjobb som skickas in från en tråd, till exempel Spark fair scheduler pool.
- standard Loggningsnivå-det låter dig ställa in root-inloggningsnivån i en Spark-applikation, till exempel Spark Shell.
iii. För att komma åt olika tjänster
det hjälper också att komma åt tjänster som TaskScheduler, LiveListenBus, BlockManager, Schedulebackend, ShuffelManager och den valfria ContextCleaner.
iv. för att avbryta ett jobb
cancleJob begär helt enkelt DAGScheduler att släppa ett Gnistjobb.
lär dig mer om Spark DAG(riktad acyklisk graf) i detalj.
v. För att avbryta ett steg
cancleStage begär helt enkelt DAGScheduler att släppa ett Gniststeg.
vi. för Stängningsrengöring i Spark
Spark cleanups Stängningen varje gång en åtgärd inträffar, dvs. åtgärdens kropp innan den serialiseras och skickas över ledningen för att utföra. Den rena metoden i SparkContext gör detta. Detta kallar i sin tur Stängningren.ren metod. Det rengör inte bara Stängningen utan också refererad stängning är ren transitivt. Den antar serialiserbar tills den inte uttryckligen refererar till oserialiserbara objekt.
vii. för att registrera Spark listener
Vi kan registrera en anpassad SparkListenerInterface med hjälp av addSparkListener metod. Vi kan också registrera anpassade lyssnare med spark.extraListeners inställning.
viii. Programmerbar dynamisk allokering
det ger också följande metod som utvecklare API för dynamisk tilldelning av exekutörer: requestExecutors, killExecutors, requestTotalExecutors, getExecutorIds.
ix. för att komma åt persistent RDD
getpersistentdds ger samlingen av RDD som har markerat sig som persistent via cache.
x. för att unpersist rdd: er
från master ’ s Block Manager och den interna persistentRdds-mappningen tar unpersist bort RDD: en.
så det här var allt i Sparkcontext Tutorial. Hoppas du gillar vår förklaring.
slutsats
därför tillhandahåller SparkContext de olika funktionerna i Spark som att få aktuell status för Spark-applikationen, ställa in konfigurationen, avbryta ett jobb, avbryta ett steg och mycket mer. Det är en inkörsport till Spark funktionalitet. Således fungerar det en ryggrad.
om du har några frågor om denna handledning, så gärna dela med oss. Vi kommer gärna att lösa dem.
Se även-
- sätt att skapa RDD I Spark
- Apache Spark kompatibilitet med Hadoop