Database
 sql >> Baza danych >  >> RDS >> Database

Ramy uruchomienia Apache Spark Job!

Teraz nasza społeczność zajmująca się analizą danych big data zaczęła w pełni wykorzystywać Apache Spark do przetwarzania danych big data. Przetwarzanie może dotyczyć zapytań ad-hoc, gotowych zapytań, przetwarzania wykresów, uczenia maszynowego, a nawet przesyłania strumieniowego danych.

Dlatego zrozumienie Spark Job Submission jest bardzo ważne dla społeczności. Rozszerz się na to, aby podzielić się z Tobą wiedzą na temat kroków związanych z przesyłaniem zadania Apache Spark.

Zasadniczo składa się z dwóch kroków,

Przesyłanie pracy

Zadanie Spark jest przesyłane automatycznie, gdy akcje, takie jak count(), są wykonywane na RDD.
Wewnętrznie runJob() do wywołania w SparkContext, a następnie wywołanie harmonogramu, który działa jako część pochodnej.
Harmonogram składa się z 2 części – Harmonogramu DAG i Harmonogramu zadań.

Konstrukcja DAG

Istnieją dwa rodzaje konstrukcji DAG,

  • Proste zadanie Spark to takie, które nie wymaga przetasowania i dlatego ma tylko jeden etap złożony z zadań wynikowych, takich jak zadanie tylko na mapie w MapReduce
  • Złożone zadanie Spark obejmuje operacje grupowe i wymaga co najmniej jednego etapu losowania.
  • Program planujący DAG Sparka zamienia zadanie na dwa etapy.
  • Harmonogram DAG jest odpowiedzialny za podzielenie etapu na zadania w celu przesłania do harmonogramu zadań.
  • Każde zadanie otrzymuje preferencję rozmieszczenia przez harmonogram DAG, aby umożliwić harmonogramowi zadań wykorzystanie lokalizacji danych.
  • Etapy potomne są przesyłane dopiero po pomyślnym ukończeniu przez rodziców.

Planowanie zadań

  • Harmonogram zadań wyśle ​​zestaw zadań; używa swojej listy executorów, które działają dla aplikacji i konstruuje mapowanie zadań na executory, które uwzględniają preferencje rozmieszczenia.
  • Harmonogram zadań przypisuje executorom, które mają wolne rdzenie, do każdego zadania domyślnie przydzielany jest jeden rdzeń. Można to zmienić za pomocą parametru spark.task.cpus.
  • Spark używa Akka, która jest platformą aktorską do tworzenia wysoce skalowalnych aplikacji rozproszonych sterowanych zdarzeniami.
  • Spark nie używa Hadoop RPC do połączeń zdalnych.

Wykonywanie zadania

Wykonawca uruchamia zadanie w następujący sposób,

  • Upewnia się, że zależności JAR i plików dla zadania są aktualne.
  • Deserializuje kod zadania.
  • Kod zadania jest wykonywany.
  • Zadanie zwraca wyniki do sterownika, który składa się w końcowy wynik, który jest zwracany użytkownikowi.

Odniesienie

  •  Ostateczny przewodnik po Hadoop
  • Społeczność Open Source Analytics i Big Data

Ten artykuł pierwotnie pojawił się tutaj. Opublikowane ponownie za zgodą. Tutaj możesz przesłać swoje skargi dotyczące praw autorskich.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. AWS Summits 2018:Chicago Recap

  2. Jak podłączyć bazę danych do Pythona

  3. Łączenie się z bazą danych za pomocą PHP

  4. Minimalizowanie wpływu poszerzenia kolumny TOŻSAMOŚĆ – część 1

  5. 7 kluczowych rzeczy do zapamiętania o globalizacji modelu danych