Articles

leer SparkContext-Introduction en functies

blijf op de hoogte van de nieuwste technologietrends
Join DataFlair on Telegram!!

Objective

SparkContext is de toegangspoort van Apache Spark functionaliteit. De belangrijkste stap van een Spark driver applicatie is het genereren van SparkContext. Het laat uw Spark applicatie toegang tot Spark Cluster met de hulp van Resource Manager (garen / Mesos). Om SparkContext aan te maken, moet eerst SparkConf gemaakt worden. De SparkConf heeft een configuratieparameter die onze Spark driver applicatie zal doorgeven aan SparkContext.
in deze Apache Spark tutorial, zullen we diep begrijpen wat SparkContext is in Spark. Hoe maak je SparkContext klasse in Spark met de hulp van Spark-Scala word count programma. We zullen ook verschillende taken van SparkContext leren en hoe je SparkContext kunt stoppen in Apache Spark.

dus, laten we SparkContext tutorial starten.

leer SparkContext - Introduction en functies

leer SparkContext – Introduction en functies

leer hoe Apache Spark te installeren in standalone modus en Apache Spark installatie in een multi-node cluster.

Wat is SparkContext in Apache Spark?

SparkContext is het beginpunt van de Spark-functionaliteit. De belangrijkste stap van een Spark driver applicatie is het genereren van SparkContext. Het laat uw Spark applicatie toegang tot Spark Cluster met de hulp van Resource Manager. De resource manager kan een van deze drie-Spark Standalone, garen, Apache Mesos.

Hoe maak ik SparkContext Class aan?

Als u SparkContext wilt maken, moet u eerst SparkConf maken. De SparkConf heeft een configuratieparameter die onze Spark driver applicatie zal doorgeven aan SparkContext. Sommige van deze parameter definieert eigenschappen van Spark driver toepassing. Sommige worden door Spark gebruikt om bronnen op het cluster toe te wijzen, zoals het aantal, de geheugengrootte en de kernen die worden gebruikt door de uitvoerder die op de werkknooppunten draait.
in het kort, het begeleidt hoe toegang te krijgen tot het Spark cluster. Na het aanmaken van een SparkContext object, kunnen we functies aanroepen zoals textFile, sequenceFile, parallelize etc. De verschillende contexten waarin het kan worden uitgevoerd zijn lokaal, garen-client, Mesos URL en Spark URL.
zodra de SparkContext is aangemaakt, kan deze worden gebruikt voor het maken van RDDs, broadcast variabele, en accumulator, entress Spark service en run jobs. Al deze dingen kunnen worden uitgevoerd totdat SparkContext is gestopt.

Stopping SparkContext

per JVM kan slechts één SparkContext actief zijn. U moet de actieve it stoppen voordat u een nieuwe maakt zoals hieronder:
stop(): Unit
Het zal het volgende bericht tonen:
INFO SparkContext: succesvol gestopt SparkContext

Spark Scala Word Count voorbeeld

laten we eens kijken hoe je SparkContext maakt met behulp van SparkConf met behulp van Spark-Scala word count voorbeeld-

pakket com.dataflair.spark
import org.Apache.Vonk.SparkContext
import org.Apache.Vonk.SparkConf
object Wordcount {
def main (args: Array) {
//Create conf object
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(” “))
//tel de afzonderlijke woorden met behulp van map en reduceByKey operatie
val wordCount = words.map (word => (word, 1)).reduceByKey (_ + _)
//Sla het resultaat
wordCount op.saveAsTextFile(args (1))
//stop de spark context
sc.stop
}
}

functies van SparkContext in Apache Spark

10 belangrijke functies van SparkContext in Apache Spark

10 belangrijke functies van SparkContext in Apache Spark

i. Om de huidige status van Spark applicatie

  • SpkEnv te krijgen-het is een runtime omgeving met Spark ‘ s openbare diensten. Het interageert met elkaar om een gedistribueerd computing platform voor Vonk toepassing vast te stellen. Een SparkEnv-object dat de vereiste runtime-services bevat voor het uitvoeren van Spark-applicatie met de verschillende omgeving voor de bestuurder en uitvoerder vertegenwoordigt de Spark runtime-omgeving.
  • SparkConf-de Spark Properties behandelt maximale instellingen voor toepassingen en worden afzonderlijk geconfigureerd voor elke toepassing. We kunnen deze eigenschappen ook eenvoudig instellen op een SparkConf. Een aantal algemene eigenschappen zoals master URL en de naam van de toepassing, evenals een willekeurige sleutel – waarde paar, geconfigureerd via de set () methode.
  • Deployment environment (als master URL) – Spark deployment environment zijn van twee typen, namelijk lokaal en geclusterd. Lokale modus is niet-gedistribueerde single-JVM deployment mode. Alle uitvoeringscomponenten-driver, executor, LocalSchedulerBackend en master zijn aanwezig in dezelfde JVM. Daarom is de enige modus waar stuurprogramma ‘ s nuttig zijn voor uitvoering de lokale modus. Voor het testen, debuggen of demonstratie doel, de lokale modus is geschikt omdat het vereist geen eerdere setup om spark applicatie te starten. Terwijl in geclusterde modus, de vonk draait in distributieve modus. Leer Spark Cluster Manager in detail.

ii. om de configuratie in te stellen

  • Master URL-de master methode retourneert de huidige waarde van spark.master die deployment environment in gebruik is.
  • lokale eigenschappen-logische taakgroepen maken – de reden van het lokale eigenschappen-concept is om logische groepen van taken te vormen door middel van eigenschappen die de afzonderlijke taak maken die vanuit verschillende threads wordt gestart, behoren tot een enkele logische groep. We kunnen een lokale eigenschap instellen die van invloed zal zijn op Spark-banen die zijn ingediend vanuit een thread, zoals de Spark fair scheduler pool.
  • standaard Logging niveau-Hiermee kunt u het root login niveau instellen in een Spark applicatie, bijvoorbeeld Spark Shell.

iii. Om toegang te krijgen tot verschillende services

helpt het ook bij het benaderen van services zoals TaskScheduler, LiveListenBus, BlockManager, SchedulerBackend, ShuffelManager en de optionele ContextCleaner.

iv. om een taak te annuleren

cancleJob vraagt DAGScheduler om een Spark-taak te laten vallen.leer meer over Spark DAG (gerichte acyclische grafiek) in detail.

v. Om een fase te annuleren

cancleStage vraagt gewoon DAGScheduler om een Spark-fase te laten vallen.

vi. voor het reinigen van de sluiting in Spark

Spark cleanups wordt de sluiting elke keer als een actie plaatsvindt, d.w.z. het lichaam van actie voordat het wordt geserialiseerd en verzonden over de draad uit te voeren. De clean methode in SparkContext doet dit. Dit, op zijn beurt, noemt ClosureClean.schone methode. Het reinigt niet alleen de sluiting, maar ook verwezen sluiting is schoon transitief. Het veronderstelt serialiseerbaar totdat het niet expliciet verwijst naar unserialiseerbare objecten.

vii. om Spark listener

te registreren kunnen we een aangepaste SparkListenerInterface registreren met behulp van addSparkListener methode. We kunnen ook aangepaste luisteraars registreren met behulp van de spark.extraListeners instellen.

viii. Programmeerbare dynamische toewijzing

Het biedt ook de volgende methode als de ontwikkelaar API voor dynamische toewijzing van uitvoerders: requestExecutors, killExecutors, requesttotaleexecutors, getExecutorIds.

ix. om toegang te krijgen tot persistent RDD

geeft getPersistentRDDs de verzameling RDD ‘ s die zichzelf als persistent hebben gemarkeerd via cache.

x. om RDDs

uit de Blokbeheerder van de master en de interne persistentrdds-toewijzing te verwijderen, verwijdert de unpersist de RDD.

dus, dit was allemaal in Sparkcontext Tutorial. Ik hoop dat je onze uitleg leuk vindt.

conclusie

daarom biedt SparkContext de verschillende functies in Spark, zoals de huidige status van Spark-toepassing ophalen, de configuratie instellen, een taak annuleren, een fase annuleren en nog veel meer. Het is een toegangspunt tot de Spark-functionaliteit. Zo werkt het als een ruggengraat.
Als u vragen heeft over deze tutorial, Deel dit dan gerust met ons. We zullen ze graag oplossen.
zie ook –

  • manieren om RDD aan te maken in Spark
  • Apache Spark compatibiliteit met Hadoop