Articles

Ucz się Sparkcontext-wprowadzenie i funkcje

Bądź na bieżąco z najnowszymi trendami technologicznymi
Dołącz do DataFlair na Telegramie!!

Objective

SparkContext jest bramką wejściową funkcji Apache Spark. Najważniejszym krokiem każdej aplikacji Spark driver jest wygenerowanie SparkContext. Umożliwia aplikacji Spark dostęp do klastra Spark za pomocą Menedżera zasobów (YARN/Mesos). Aby utworzyć SparkContext, należy najpierw utworzyć SparkConf. SparkConf ma parametr konfiguracyjny, który nasza aplikacja Spark driver przekaże do SparkContext.
w tym samouczku Apache Spark głęboko zrozumiemy, czym jest SparkContext w Spark. Jak utworzyć klasę SparkContext w Spark za pomocą programu Spark-Scala word count. Poznamy również różne zadania SparkContext i jak zatrzymać SparkContext w Apache Spark.

Zacznijmy więc samouczek SparkContext.

Ucz się SparkContext - wprowadzenie i funkcje

Ucz się Sparkcontext – wprowadzenie i funkcje

Dowiedz się, jak zainstalować Apache Spark w trybie autonomicznym i instalacji Apache Spark w klastrze wielowęzłowym.

czym jest SparkContext w Apache Spark?

SparkContext jest punktem wyjścia dla funkcji Spark. Najważniejszym krokiem każdej aplikacji Spark driver jest wygenerowanie SparkContext. Umożliwia aplikacji Spark dostęp do klastra Spark za pomocą Menedżera zasobów. Menedżerem zasobów może być jeden z tych trzech-Spark samodzielny, YARN, Apache Mesos.

Jak utworzyć klasę SparkContext?

Jeśli chcesz utworzyć SparkContext, najpierw należy utworzyć SparkConf. SparkConf ma parametr konfiguracyjny, który nasza aplikacja Spark driver przekaże do SparkContext. Niektóre z tych parametrów definiują właściwości aplikacji Spark driver. Niektóre są używane przez Spark do przydzielania zasobów w klastrze, takich jak liczba, rozmiar pamięci i rdzenie używane przez executora działającego na węzłach roboczych.
krótko mówiąc, wskazuje, jak uzyskać dostęp do klastra Spark. Po utworzeniu obiektu SparkContext możemy wywołać takie funkcje jak textFile, sequenceFile, paralelize itp. Różne konteksty, w których może działać, to lokalny, yarn-client, Mesos URL i SPARK URL.
Po utworzeniu SparkContext może być używany do tworzenia RDD, zmiennej rozgłoszeniowej i akumulatora, usługi ingress Spark i uruchamiania zadań. Wszystkie te rzeczy można wykonać, dopóki SparkContext nie zostanie zatrzymany.

zatrzymanie SparkContext

tylko jeden SparkContext może być aktywny na JVM. Musisz zatrzymać aktywną ją przed utworzeniem nowej, jak poniżej:
stop(): Unit
wyświetli następujący komunikat:
INFO SparkContext: pomyślnie zatrzymano Sparkcontext

przykład liczby słów Spark Scala

zobaczmy, jak utworzyć SparkContext przy użyciu sparkconf za pomocą przykładu liczby słów Spark-Scala-

pakiet com.dataflair.spark
import org.Apacz.spark.SparkContext
import org.Apacz.spark.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(” „))
/ / policz poszczególne słowa za pomocą operacji map i reduceByKey
val wordCount = words.map(word => (word, 1)).reduceByKey (_ + _ )
/ / Zapisz wynik
wordCount.saveAsTextFile(args (1))
//zatrzymaj kontekst spark
sc.stop
}
}

funkcje SparkContext w Apache Spark

10 ważnych funkcji SparkContext w Apache Spark

10 ważnych funkcji sparkcontext w Apache Spark

i. Aby uzyskać aktualny stan aplikacji Spark

  • SpkEnv – jest to środowisko uruchomieniowe z usługami publicznymi Spark. Współdziała ze sobą, tworząc rozproszoną platformę obliczeniową dla aplikacji Spark. Obiekt SparkEnv, który zawiera wymagane usługi runtime dla uruchomienia aplikacji Spark z innym środowiskiem dla sterownika i executora, reprezentuje środowisko runtime Spark.
  • SparkConf – właściwości Spark obsługują maksymalne ustawienia aplikacji i są konfigurowane oddzielnie dla każdej aplikacji. Możemy również łatwo ustawić te właściwości na SparkConf. Niektóre typowe właściwości, takie jak główny adres URL i nazwa aplikacji, a także Dowolna para klucz-wartość, skonfigurowana za pomocą metody set ().
  • Deployment environment (as master URL) – środowisko deployment Spark składa się z dwóch typów: lokalnego i klastrowego. Tryb lokalny jest rozproszonym trybem wdrażania pojedynczego JVM. Wszystkie komponenty wykonawcze-driver, executor, localschedulerbackend i master są obecne w tym samym pojedynczym JVM. Dlatego jedynym trybem, w którym drivery są użyteczne do wykonania jest tryb lokalny. Do celów testowania, debugowania lub demonstracji odpowiedni jest tryb lokalny, ponieważ nie wymaga wcześniejszej konfiguracji, aby uruchomić aplikację spark. Podczas gdy w trybie klastrowym, Iskra działa w trybie dystrybucyjnym. Poznaj szczegółowo program Spark Cluster Manager.

ii. aby ustawić konfigurację

  • Master URL – metoda master zwraca bieżącą wartość spark.master, czyli używane środowisko wdrożeniowe.
  • Local properties-Tworzenie logicznych grup zadań-powodem koncepcji local properties jest tworzenie logicznych grup zadań za pomocą właściwości, które tworzą oddzielne zadanie uruchamiane z różnych wątków należą do jednej grupy logicznej. Możemy ustawić lokalną właściwość, która będzie miała wpływ na zadania Spark przesłane z wątku, takie jak Pula harmonogramu Spark fair.
  • Domyślny poziom logowania-pozwala ustawić poziom logowania głównego w aplikacji Spark, na przykład, Spark Shell.

iii. Aby uzyskać dostęp do różnych usług

, pomaga również w dostępie do usług takich jak TaskScheduler, LiveListenBus, BlockManager, SchedulerBackend, ShuffelManager i opcjonalny ContextCleaner.

iv. aby anulować pracę

cancleJob wystarczy poprosić Dagschedulera o porzucenie pracy Spark.
dowiedz się więcej o Spark dag(Directed acyclic Graph) w szczegółach.

v. Aby anulować etap

cancleStage po prostu prosi Dagschedulera o upuszczenie etapu iskry.

vi. do czyszczenia zamknięcia w Spark

Spark czyści Zamknięcie Za każdym razem, gdy wystąpi Akcja, tj. ciało działania przed serializacją i wysłaniem przez przewód do wykonania. Robi to metoda clean w SparkContext. To z kolei nazywa ClosureClean.czysta metoda. Nie tylko czyści zamknięcie, ale także odnosi zamknięcie jest czyste przejściowo. Zakłada serializowalny, dopóki nie odwołuje się wprost do niezserializowalnych obiektów.

vii. aby zarejestrować sparklistener

możemy zarejestrować Niestandardowy sparklistenerinterface za pomocą metody addSparkListener. Możemy również zarejestrować niestandardowych słuchaczy za pomocą spark.ustawienie extralistenerów.

Programowalna dynamiczna alokacja

zapewnia również następującą metodę jako API programisty dla dynamicznej alokacji wykonawców: requestExecutors, killExecutors, requestTotalExecutors, getExecutorIds.

ix. aby uzyskać dostęp do trwałych RDD

getPersistentRDDs podaje kolekcję RDD, które zostały oznaczone jako trwałe poprzez cache.

x. do Unpersist RDDs

z menedżera bloków głównego i wewnętrznego mapowania persistentRdds, unpersist usuwa RDD.

to wszystko było w samouczku Sparkcontext. Mam nadzieję, że podoba Ci się nasze Wyjaśnienie.

wniosek

dlatego SparkContext udostępnia różne funkcje w Spark, takie jak uzyskiwanie aktualnego stanu aplikacji Spark, ustawianie konfiguracji, anulowanie zadania, anulowanie etapu i wiele więcej. Jest to punkt wejścia do funkcji Spark. W ten sposób działa kręgosłup.
Jeśli masz jakieś pytania dotyczące tego samouczka, więc podziel się z nami. Chętnie je rozwiążemy.
Zobacz też –

  • sposoby tworzenia RDD w Spark
  • Apache Spark kompatybilność z Hadoop