Articles

aflați SparkContext-introducere și funcții

rămâneți la curent cu cele mai recente tendințe tehnologice
Alăturați-vă DataFlair pe telegramă!!

obiectiv

SparkContext este poarta de intrare a funcționalității Apache Spark. Cel mai important pas al oricărei aplicații Spark driver este de a genera SparkContext. Acesta permite aplicației Spark pentru a accesa Spark Cluster cu ajutorul Resource Manager (fire/Mesos). Pentru a crea SparkContext, ar trebui să se facă mai întâi SparkConf. SparkConf are un parametru de configurare pe care aplicația noastră de driver Spark îl va trece la SparkContext.
în acest tutorial Apache Spark, vom înțelege profund ce este SparkContext în Spark. Cum se creează clasa SparkContext în Spark cu ajutorul programului Spark-scala word count. Vom învăța, de asemenea, diverse sarcini ale SparkContext și cum să oprim SparkContext în Apache Spark.

deci, să începem SparkContext tutorial.

aflați SparkContext - introducere și funcții

aflați SparkContext – introducere și funcții

Aflați cum să instalați Apache Spark în modul independent și instalarea Apache Spark într-un cluster multi-nod.

ce este SparkContext în Apache Spark?

SparkContext este punctul de intrare al funcționalității Spark. Cel mai important pas al oricărei aplicații Spark driver este de a genera SparkContext. Acesta permite aplicației Spark pentru a accesa Spark Cluster cu ajutorul Resource Manager. Managerul de resurse poate fi unul dintre aceste trei Spark Standalone, fire, Apache Mesos.

cum se creează clasa SparkContext?

Dacă doriți să creați SparkContext, ar trebui să se facă mai întâi SparkConf. SparkConf are un parametru de configurare pe care aplicația noastră de driver Spark îl va trece la SparkContext. Unele dintre aceste parametru definește proprietățile aplicației Spark driver. În timp ce unele sunt utilizate de Spark pentru a aloca resurse pe cluster, cum ar fi numărul, dimensiunea memoriei și nucleele utilizate de executor care rulează pe nodurile lucrătorului.
pe scurt, ghidează modul de accesare a clusterului Spark. După crearea unui obiect SparkContext, putem invoca funcții precum textFile, sequenceFile, parallelize etc. Diferitele contexte în care poate rula sunt locale, fire-client, Mesos URL și Spark URL.
odată ce SparkContext este creat, acesta poate fi folosit pentru a crea RDDs, broadcast variabilă, și acumulator, ingress Spark service și a alerga de locuri de muncă. Toate aceste lucruri pot fi efectuate până când SparkContext este oprit.

oprirea SparkContext

numai un SparkContext poate fi activ per JVM. Trebuie să opriți activ înainte de a crea unul nou ca mai jos:
stop(): Unitate
Se va afișa următorul mesaj:
Info SparkContext: oprit cu succes SparkContext

Spark Scala Word Count exemplu

să vedem cum de a crea SparkContext folosind SparkConf cu ajutorul Spark-scala word count exemplu-

pachet com.dataflair.spark
import org.apache.spark.SparkContext
import org.apache.spark.SparkConf
obiect Wordcount {
Def main(args: Array) {
//crea conf obiect
val conf = New 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(” „))
//conta cuvintele individuale folosind harta și operațiunea reduceByKey
val wordCount = cuvinte.hartă (word = > (word, 1)).reduceByKey (_ + _ )
//Salvați rezultatul
wordCount.saveAsTextFile(args (1))
/ / opri contextul scânteie
sc.stop
}
}

funcțiile SparkContext în Apache Spark

10 funcții importante ale SparkContext în Apache Spark

10 funcții importante ale SparkContext în Apache Spark

i. Pentru a obține starea actuală a aplicației Spark

  • SpkEnv – este un mediu de rulare cu Serviciile Publice Spark. Interacționează între ele pentru a stabili o platformă de calcul distribuită pentru aplicația Spark. Un obiect SparkEnv care deține serviciile de rulare necesare pentru rularea aplicației Spark cu mediul diferit pentru șofer și executor reprezintă mediul de rulare Spark.SparkConf-proprietățile Spark gestionează setările maxime ale aplicațiilor și sunt configurate separat pentru fiecare aplicație. De asemenea, putem seta cu ușurință aceste proprietăți pe un SparkConf. Unele proprietăți comune, cum ar fi URL-ul principal și numele aplicației, precum și o pereche arbitrară cheie-valoare, configurată prin metoda set ().
  • mediu de implementare – ca master URL) – mediu de implementare Spark sunt de două tipuri și anume locale și grupate. Modul Local este non-distribuit modul de implementare single-JVM. Toate componentele de execuție – driver, executor, LocalSchedulerBackend și master sunt prezente în același JVM unic. Prin urmare, singurul mod în care driverele sunt utile pentru execuție este modul local. Pentru testare, depanare sau scop demonstrativ, modul local este potrivit deoarece nu necesită o configurare anterioară pentru a lansa aplicația spark. În timp ce se află în modul grupat, scânteia rulează în modul distributiv. Aflați Spark Cluster Manager în detaliu.

ii. pentru a seta configurația

  • Master URL – metoda master returnează valoarea curentă a spark.maestru care este mediul de implementare în uz.
  • proprietăți locale-Crearea grupurilor de locuri de muncă logice – motivul conceptului de proprietăți locale este de a forma grupuri logice de locuri de muncă prin intermediul proprietăților care creează lucrarea separată lansată din diferite fire aparțin unui singur grup logic. Putem seta o proprietate locală care va afecta locurile de muncă Spark trimise dintr-un fir, cum ar fi piscina Spark fair scheduler.
  • nivel de logare implicit – vă permite să setați nivelul de conectare rădăcină într-o aplicație Spark, de exemplu, Spark Shell.

iii. Pentru a accesa diverse servicii

de asemenea, ajută la accesarea Serviciilor cum ar fi TaskScheduler, LiveListenBus, BlockManager, SchedulerBackend, Shufflelmanager și ContextCleaner opțional.

iv. Pentru a anula un loc de muncă

cancleJob cere pur și simplu DAGScheduler să renunțe la un loc de muncă scânteie.
Aflați mai multe despre Spark DAG(Grafic aciclic regizat) în detaliu.

v. Pentru a anula o etapă

cancleStage cere pur și simplu DAGScheduler să renunțe la o etapă scânteie.

vi. pentru curățarea închiderii în scânteie

curățarea scânteii închiderea de fiecare dată când are loc o acțiune, adică. corpul de acțiune înainte de a fi serializat și trimis peste fir pentru a executa. Metoda curată din SparkContext face acest lucru. Aceasta, la rândul său, numește Închiderecurat.metoda curată. Nu numai că curăță închiderea, dar și închiderea menționată este curată tranzitiv. Presupune serializabil până când nu face referire în mod explicit la obiecte neserializabile.

vii. pentru a înregistra Spark listener

putem înregistra un SparkListenerInterface personalizat cu ajutorul metodei addSparkListener. De asemenea, putem înregistra ascultători personalizați folosind spark.setarea extraListeners.

viii. Alocare dinamică programabilă

de asemenea, oferă următoarea metodă ca API dezvoltator pentru alocarea dinamică a Executorilor: requestExecutors, killExecutors, requestTotalExecutors, getExecutorIds.

ix. pentru a accesa RDD persistente

getPersistentRDDs oferă colecția de RDD-uri care s-au marcat ca persistente prin cache.

x. la RDDs unpersist

Din managerul de blocuri master și maparea internă persistentRdds, unpersist elimină RDD.

deci, acest lucru a fost tot în Sparkcontext Tutorial. Sper că vă place explicația noastră.

concluzie

prin urmare, SparkContext oferă diferite funcții în Spark ca obține starea curentă a aplicației Spark, setați configurația, anula un loc de muncă, anula o etapă și mult mai mult. Este un punct de intrare în funcționalitatea Spark. Astfel, acționează o coloană vertebrală.
dacă aveți orice întrebare despre acest tutorial, deci nu ezitați să împărtășiți cu noi. Vom fi bucuroși să le rezolvăm.
A se vedea, de asemenea-

  • modalități de a crea RDD în Spark
  • Apache Spark compatibilitate cu Hadoop