Wprowadzenie do architektury Apache Spark

W tym artykule zdefiniowano koncepcje architektury Apache Spark i jej składników. Jest uważany za przetwarzanie danych na najwyższym poziomie w Apache Software Foundation. Spark jest ostatecznie uważany za kolejną możliwość Hadoop i Map Reduce.

Spark jest architekturą typu open source z dobrze zdefiniowanymi komponentami, które pomagają w analizie dużej ilości danych i działają na potrzeby przetwarzania rozproszonego. Spark jest napisany w Scali z włączonymi funkcjami, takimi jak API, R i ma wzbogacony zestaw bibliotek, co ułatwia przetwarzanie danych. Apache Spark ma swoje indywidualne obliczenia klastra dla szybszej dostępności i działa na różnych platformach.

Apache Spark ma szeroki zakres funkcji, takich jak przyspieszony, szybszy proces w pamięci, dostosowuje się do wielu języków programowania, ma ulepszone techniki buforowania i obsługuje zapytania SQL, uczenie maszynowe. Działa na platformach takich jak Microsoft Windows i Linux. Ich wdrożenie mówi, że mogą działać również na jednym komputerze i trybie klastra.

Architektura Apache Spark

Architektura iskry Apache ma luźno sprzężone elementy. Spark bierze pod uwagę proces główny / roboczy w architekturze, a wszystkie zadania działają na najwyższym rozproszonym systemie plików Hadoop. Spark Apache wykorzystuje Hadoop do przetwarzania i przechowywania danych. Są uważane za silnik przetwarzania danych w pamięci i sprawiają, że ich aplikacje działają w klastrach Hadoop szybciej niż pamięć. Przetwarzanie w pamięci zapobiega awarii dysku we / wy. Spark pozwala heterogenicznemu zadaniu pracować z tymi samymi danymi. Spark dzieli swoje dane na partycje, rozmiar podzielonych partycji zależy od danego źródła danych.

Poniżej znajdują się dwie główne implementacje architektury Apache Spark:

1. Resilient Distributed Datasets (RDD)

Odpowiada za zapewnienie interfejsu API do kontrolowania buforowania i partycjonowania. Jest to ważny zestaw narzędzi do obliczania danych. Pomaga w ponownym obliczaniu elementów w przypadku awarii i jest uważany za niezmienne dane i działa jako interfejs. Transformacje i działania to dwie operacje wykonywane przez RDD.

2. Directed Acyclic Graph (DAG)

Tworzy połączenie sekwencyjne z jednego węzła do drugiego. Sterownik konwertuje program na DAG dla każdego zadania. System Eco Apache Spark ma różne komponenty, takie jak rdzeń API, Spark SQL, Streaming i przetwarzanie w czasie rzeczywistym, MLIB i Graph X. Niektóre terminologie, których można się tutaj nauczyć, to powłoka Spark, która pomaga w odczytywaniu dużych ilości danych, kontekst Spark - anuluj, uruchom zadanie, zadanie (praca), zadanie (obliczenia)

Składniki architektury Apache Spark

Cztery główne elementy Spark są podane poniżej i konieczne jest ich zrozumienie dla pełnego frameworka.

  1. Sterownik Spark
  2. Wykonawcy
  3. Menedżer klastrów
  4. Węzły robocze

Poniższy schemat przedstawia architekturę i komponenty iskry:

Ryc .: Tryb autonomiczny architektury Apache Spark Architecture

Proces wykonywania rozpoczyna się w następujący sposób:

1. Sterownik Spark

Obowiązkiem kierowcy jest koordynacja zadań i pracowników do zarządzania. Jest to proces JVM aplikacji i uważany za węzeł główny. Sterownik dzieli iskrę na zadania i harmonogramy do wykonania na wykonawcach w klastrach. Na schemacie programy sterowników wywołują główną aplikację i tworzą kontekst iskrowy (działa jak brama) zbiorczo monitorują pracę w ramach danego klastra i łączą się z klastrem Spark Wszystkie funkcje i polecenia są wykonywane w kontekście Spark.

Kontekst Spark to wpis dla każdej sesji. Sterownik Spark ma więcej komponentów do wykonywania zadań w klastrach. Klastry Spark łączą się z różnymi typami menedżerów klastrów i jednocześnie kontekst pozyskuje węzły robocze do wykonywania i przechowywania danych. W klastrze, gdy wykonujemy proces, ich zadanie jest podzielone na etapy, a etapy wzmocnienia na zaplanowane zadania.

2. Wykonawca

Odpowiada za wykonanie zadania i przechowuje dane w pamięci podręcznej. Na bardzo wstępnym etapie, executorzy rejestrują się ze sterownikami. Ten moduł wykonawczy ma wiele przedziałów czasowych do jednoczesnego uruchomienia aplikacji. Wykonawcy wykonują proces odczytu / zapisu na źródłach zewnętrznych. Moduł wykonawczy uruchamia zadanie, gdy załaduje dane i zostaną one usunięte w trybie bezczynności. Moduł wykonawczy jest włączany przez dynamiczny przydział i są one stale uwzględniane i wykluczane w zależności od czasu trwania. Podczas wykonywania zadań narzędzia wykonawcze są monitorowane przez program sterownika. Wykonawcy wykonują zadanie użytkowników w procesie Java.

3. Menedżer klastrów

Pomaga w zarządzaniu klastrami, które mają jednego mastera i liczbę slave'ów. Istnieją dwa typy menedżerów klastrów, takie jak YARN i autonomiczne, oba są zarządzane przez Resource Manager i Node. praca w klastrze w trybie autonomicznym wymaga roli Spark Master i węzła roboczego jako ról. Obowiązkiem menedżera klastra jest alokacja zasobów i wykonanie zadania,

4. Węzły robocze

Są węzłami podrzędnymi; głównym obowiązkiem jest wykonanie zadań, a ich wynik wraca do kontekstu iskrowego. Komunikują się z węzłem głównym o dostępności zasobów. Kontekst Spark wykonuje go i wysyła do węzłów roboczych. Do każdego węzła procesu roboczego przypisany jest jeden moduł Spark dla monitorowania. Dokonują obliczeń w bardzo prosty sposób, zwiększając węzły robocze (od 1 do n liczby pracowników), dzięki czemu wszystkie zadania są wykonywane równolegle, dzieląc zadanie na partycje w wielu systemach. Zadanie drugiego elementu jest traktowane jako jednostka pracy i przypisane do jednego modułu wykonującego, dla każdej partycji iskra uruchamia jedno zadanie.

Wniosek

Dlatego, rozumiejąc architekturę Apache Spark, oznacza to, jak łatwo wdrożyć duże zbiory danych. Ostatecznie poznaliśmy ich dostępność i role ich komponentów, co jest bardzo korzystne w przypadku klastrów i technologii dużych zbiorów danych. Spark oblicza pożądane wyniki w łatwiejszy sposób i jest preferowany w przetwarzaniu wsadowym.

Charakterystyczne funkcje Spark, takie jak zestawy danych i ramki danych, pomagają zoptymalizować kod użytkownika. Ważna funkcja, taka jak silnik SQL, sprzyja szybkości wykonywania i sprawia, że ​​to oprogramowanie jest wszechstronne. Dlatego widzieliśmy, że aplikacje Spark działają lokalnie lub są dystrybuowane w klastrze. Apache Spark jest uważany za doskonałe uzupełnienie w wielu branżach, takich jak Big Data. Podsumowując, Spark pomaga rozwiązać wysokie zadania obliczeniowe.

Polecane artykuły

Jest to przewodnik po architekturze Apache Spark. Tutaj omawiamy Wprowadzenie do architektury Apache Spark wraz ze składnikami i schematem blokowym Apache Spark. Możesz także przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej -

  1. Polecenia Spark Shell
  2. Ekosystem Apache Hadoop
  3. Architektura Big Data
  4. Co to jest Apache

Kategoria: