15+ Apache Spark Wywiad Pytania i odpowiedzi 2022

Opublikowany: 2021-01-08

Każdy, kto zna Apache Spark, wie, dlaczego staje się on obecnie jednym z najbardziej preferowanych narzędzi Big Data – pozwala na superszybkie obliczenia.

Fakt, że Spark obsługuje szybkie przetwarzanie Big Data, czyni go hitem wśród firm na całym świecie. Od wielkich nazwisk, takich jak Amazon, Alibaba, eBay i Yahoo, po małe firmy w branży, Spark zyskał ogromną rzeszę fanów. Dzięki temu firmy nieustannie poszukują wykwalifikowanych specjalistów Big Data z doświadczeniem domenowym w Spark.

Każdy, kto chce zająć się pracą związaną z profilem Big Data (Spark), musi najpierw z powodzeniem złamać rozmowę kwalifikacyjną Spark. Oto coś, co może przybliżyć Cię o krok do celu – 15 najczęściej zadawanych pytań do wywiadu Apache Spark!

  1. Co to jest iskra?

Spark to platforma Big Data do przetwarzania klastrowego typu open source, która umożliwia przetwarzanie w czasie rzeczywistym. Jest to aparat przetwarzania danych ogólnego przeznaczenia, który może obsługiwać różne obciążenia, takie jak wsadowe, interaktywne, iteracyjne i strumieniowe. Spark wykonuje obliczenia w pamięci, które pomagają zwiększyć szybkość przetwarzania danych. Może działać samodzielnie, w usłudze Hadoop lub w chmurze.

  1. Co to jest RDD?

RDD lub Resilient Distributed Dataset to podstawowa struktura danych platformy Spark. Jest to niezbędna abstrakcja w Spark, która reprezentuje dane wejściowe w formacie obiektu. RDD to niezmienna kolekcja obiektów tylko do odczytu, w której każdy węzeł jest podzielony na mniejsze części, które można obliczyć na różnych węzłach klastra, aby umożliwić niezależne przetwarzanie danych.

  1. Rozróżnij Apache Spark i Hadoop MapReduce.

Kluczowymi wyróżnikami między Apache Spark i Hadoop MapReduce są:

  • Spark jest łatwiejszy do zaprogramowania i nie wymaga żadnych abstrakcji. MapReduce jest napisany w Javie i jest trudny do zaprogramowania. Potrzebuje abstrakcji.
  • Spark ma tryb interaktywny, podczas gdy MapReduce go nie ma. Jednak narzędzia takie jak Pig i Hive ułatwiają pracę z MapReduce.
  • Spark umożliwia przetwarzanie wsadowe, przesyłanie strumieniowe i uczenie maszynowe w tym samym klastrze. MapReduce najlepiej nadaje się do przetwarzania wsadowego.
  • Spark może modyfikować dane w czasie rzeczywistym za pośrednictwem Spark Streaming. W MapReduce nie ma takiej obsługi w czasie rzeczywistym — możesz przetwarzać tylko partię przechowywanych danych.
  • Spark ułatwia obliczenia o niskim opóźnieniu, buforując częściowe wyniki w pamięci. Wymaga to więcej miejsca w pamięci. Wręcz przeciwnie, MapReduce jest zorientowany na dysk, co pozwala na trwałe przechowywanie.
  • Ponieważ Spark może wykonywać zadania przetwarzania w pamięci, może przetwarzać dane znacznie szybciej niż MapReduce.
  1. Co to jest rzadki wektor?

Rzadki wektor składa się z dwóch równoległych tablic, jednej dla indeksów, a drugiej dla wartości. Służą do przechowywania niezerowych wpisów w celu zaoszczędzenia miejsca w pamięci.

  1. Co to jest partycjonowanie w Spark?

Partycjonowanie służy do tworzenia mniejszych i logicznych jednostek danych, aby przyspieszyć przetwarzanie danych. W Spark wszystko jest partycjonowanym RDD. Partycje zapewniają równoległe przetwarzanie danych rozproszonych przy minimalnym ruchu sieciowym w celu wysyłania danych do różnych wykonawców w systemie.

  1. Zdefiniuj transformację i działanie.

Zarówno Transformacja, jak i Akcja to operacje wykonywane w ramach RDD.

Gdy funkcja transformacji zostanie zastosowana do RDD, tworzy kolejny RDD. Dwoma przykładami transformacji są map() i filer() – podczas gdy map() stosuje przekazaną mu funkcję na każdym elemencie RDD i tworzy kolejny RDD, filter() tworzy nowy RDD, wybierając komponenty z obecnego RDD, które przenoszą argument funkcji. Jest wyzwalany tylko wtedy, gdy występuje Akcja.

Akcja pobiera dane z RDD na komputer lokalny. Uruchamia wykonanie za pomocą wykresu rodowodu w celu załadowania danych do oryginalnego RDD, wykonania wszystkich transformacji pośrednich i zwrócenia ostatecznych wyników do programu Driver lub zapisania ich do systemu plików.

  1. Co to jest wykres rodowodu?

W Spark RDD są od siebie współzależne. Graficzna reprezentacja tych zależności między RDD nazywa się wykresem linii. Dzięki informacjom z wykresu rodowodu każdy RDD można obliczyć na żądanie – jeśli kiedykolwiek zostanie utracony fragment trwałego RDD, utracone dane można odzyskać przy użyciu informacji z wykresu rodowodu.

  1. Jaki jest cel SparkCore?

SparkCore to podstawowy silnik Sparka. Wykonuje wiele ważnych funkcji, takich jak odporność na awarie, zarządzanie pamięcią, monitorowanie zadań, planowanie zadań i interakcja z systemami pamięci masowej.

  1. Wymień główne biblioteki ekosystemu Spark.

Główne biblioteki w ekosystemie Spark to:

  • Spark Streaming — służy do włączania przesyłania strumieniowego danych w czasie rzeczywistym.
  • Spark MLib - Jest to biblioteka uczenia maszynowego Sparka, która jest powszechnie używanymi algorytmami uczenia, takimi jak klasyfikacja, regresja, klastrowanie itp.
  • Spark SQL — pomaga wykonywać zapytania podobne do SQL na danych Spark, stosując standardowe narzędzia do wizualizacji lub analizy biznesowej.
  • Spark GraphX ​​— jest to Spark API do przetwarzania wykresów w celu tworzenia i przekształcania interaktywnych wykresów.
  1. Co to jest PRZĘDZA? Czy wymagane jest zainstalowanie platformy Spark na wszystkich węzłach klastra YARN?

Yarn to centralna platforma zarządzania zasobami w Spark. Umożliwia dostarczanie skalowalnych operacji w klastrze Spark. Podczas gdy Spark jest narzędziem do przetwarzania danych, YARN jest rozproszonym menedżerem kontenerów. Tak jak Hadoop MapReduce może działać na YARN, tak Spark również może działać na YARN.

Nie jest konieczne instalowanie Sparka na wszystkich węzłach klastra YARN, ponieważ Spark może działać na wierzchu YARN — działa niezależnie od jego instalacji. Zawiera również różne konfiguracje do uruchomienia na YARN, takie jak główna, kolejka, tryb wdrażania, pamięć sterownika, pamięć executorów i rdzenie executorów.

  1. Co to jest platforma Catalyst?

Struktura Catalyst to unikalna struktura optymalizacji w Spark SQL. Głównym celem struktury katalizatora jest umożliwienie Sparkowi automatycznej transformacji zapytań SQL poprzez dodanie nowych optymalizacji w celu opracowania szybszego systemu przetwarzania.

  1. Jakie są rodzaje menedżerów klastrów w Spark?

Framework Spark składa się z trzech typów menedżerów klastrów:

  1. Autonomiczny — główny menedżer używany do konfigurowania klastra.
  2. Apache Mesos — wbudowany, uogólniony menedżer klastra Spark, który może uruchamiać Hadoop MapReduce i inne aplikacje.
  3. Yarn — Menedżer klastra do obsługi zarządzania zasobami w Hadoop.
  1. Co to jest węzeł roboczy?

Węzeł roboczy jest „węzłem podrzędnym” węzła głównego. Odnosi się do dowolnego węzła, który może uruchomić kod aplikacji w klastrze. Tak więc węzeł główny przypisuje pracę do węzłów roboczych, które wykonują przydzielone zadania. Węzły robocze przetwarzają dane przechowywane w obrębie, a następnie raportują do węzła głównego.

  1. Co to jest Spark Executor?

Spark Executor to proces, który uruchamia obliczenia i przechowuje dane w węźle roboczym. Za każdym razem, gdy SparkContext łączy się z menedżerem klastra, uzyskuje wykonawcę na węzłach w klastrze. Te moduły wykonawcze wykonują ostatnie zadania, które są im przypisane przez SparkContext.

  1. Co to jest pilnik do parkietu?

Plik Parquet to plik w formacie kolumnowym, który umożliwia Spark SQL zarówno operacje odczytu, jak i zapisu. Korzystanie z pilnika do parkietu (format kolumnowy) ma wiele zalet:

  1. Format przechowywania kolumn zajmuje mniej miejsca.
  2. Format przechowywania kolumn utrzymuje operacje we/wy w ryzach.
  3. Umożliwia łatwy dostęp do określonych kolumn.
  4. Podąża za kodowaniem specyficznym dla typu i dostarcza lepiej podsumowane dane.

Tam – wprowadziliśmy Cię do Sparka. Te 15 podstawowych pojęć w Spark pomoże Ci rozpocząć pracę ze Sparkiem.

Jeśli chcesz dowiedzieć się więcej o Big Data, sprawdź nasz program PG Diploma in Software Development Specialization in Big Data, który jest przeznaczony dla pracujących profesjonalistów i zawiera ponad 7 studiów przypadków i projektów, obejmuje 14 języków programowania i narzędzi, praktyczne praktyczne warsztaty, ponad 400 godzin rygorystycznej pomocy w nauce i pośrednictwie pracy w najlepszych firmach.

Sprawdź nasze inne kursy inżynierii oprogramowania w upGrad.

Podnieś swoje umiejętności i przygotuj się na przyszłość

400+ godzin nauki. 14 języków i narzędzi. Status absolwentów IIIT-B.
Zaawansowany program certyfikacji w Big Data z IIIT Bangalore