Wprowadzenie do Spark Wywiad Pytania i odpowiedzi
Apache Spark to środowisko typu open source. Spark, ponieważ jest to platforma typu open source, możemy korzystać z wielu języków programowania, takich jak Java, Python, Scala, R. W porównaniu do wydajności procesu Map-Reduce Spark pomaga poprawić wydajność wykonywania. Zapewnia również 100 razy szybsze wykonanie w pamięci niż Map-Reduce. Ze względu na moc przetwarzania iskry w dzisiejszych czasach przemysł preferuje iskrę.
W końcu znalazłeś swoją wymarzoną pracę w Spark, ale zastanawiasz się, jak złamać wywiad Spark i jakie mogą być prawdopodobne pytania dotyczące wywiadu Spark na rok 2018. Każda rozmowa jest inna, a zakres pracy jest również inny. Mając to na uwadze, opracowaliśmy najczęstsze pytania i odpowiedzi podczas wywiadu Spark na rok 2018, aby pomóc Ci odnieść sukces w rozmowie.
Te pytania są podzielone na dwie części
Część 1 - Pytania do wywiadu Spark (podstawowe)
Ta pierwsza część obejmuje podstawowe pytania i odpowiedzi podczas wywiadu z Spark
1. Co to jest Spark?
Odpowiedź:
Apache Spark to środowisko typu open source. Poprawia wydajność wykonywania niż proces Map-Reduce. Jest to otwarta platforma, na której możemy używać wielu języków programowania, takich jak Java, Python, Scala, R. Spark zapewnia wykonanie w pamięci, które jest 100 razy szybsze niż Map-Reduce. Wykorzystuje koncepcję RDD. RDD jest odpornym, rozproszonym zestawem danych, który pozwala mu w przejrzysty sposób przechowywać dane w pamięci i utrwalać je na dysku tylko w razie potrzeby. To skróci czas dostępu do danych z pamięci zamiast z dysku. Dzisiaj przemysł preferuje Spark ze względu na jego moc obliczeniową.
2. Różnica między Hadoop a Spark?
Odpowiedź:
Kryteria funkcji | Apache Spark | Hadoop |
Prędkość | 10 do 100 razy szybszy niż Hadoop | Normalna prędkość |
Przetwarzanie | Przetwarzanie w czasie rzeczywistym i wsadowe, w pamięci, buforowanie | Tylko przetwarzanie wsadowe, zależne od dysku |
Trudność | Łatwe dzięki modułom wysokiego poziomu | Trudne do nauczenia |
Poprawa | Umożliwia odzyskiwanie partycji za pomocą RDD | Odporne na uszkodzenia |
Interaktywność | Ma interaktywne, interaktywne tryby | Bez trybu interaktywnego oprócz Pig & Hive, Bez trybu iteracyjnego |
Normalna architektura Hadoop jest zgodna z podstawową redukcją mapy. Dla tego samego procesu iskra zapewnia wykonanie w pamięci. Zamiast odczytu i zapisu z dysku twardego dla Map-Reduce, Spark zapewnia odczyt i zapis z pamięci wirtualnej.
Przejdźmy do następnych pytań do wywiadu Spark
3. Jakie są cechy Spark?
Odpowiedź:
- Zapewnij możliwość integracji z Hadoop i plikami na HDFS. Spark może działać na platformie Hadoop przy użyciu klastrowania zasobów YARN. Spark może zastąpić silnik Hadoop's Map-Reduce.
- Polyglot: Spark Zapewnia API wysokiego poziomu dla Java, Python, Scala i R. Kod Spark może być napisany w dowolnym z tych czterech języków. IT zapewnia niezależną powłokę do skalowania (język, w którym napisany jest Spark) oraz interpreter Pythona. Które pomogą współdziałać z silnikiem iskrowym? Dostęp do powłoki Scala można uzyskać poprzez ./bin/spark-shell, a powłokę Python poprzez ./bin/pyspark z zainstalowanego katalogu.
- Szybkość: Silnik Spark jest 100 razy szybszy niż Hadoop Map-Reduce do przetwarzania danych na dużą skalę. Szybkość zostanie osiągnięta poprzez partycjonowanie w celu równoległego rozproszonego przetwarzania danych przy minimalnym ruchu w sieci. Spark Podaj RDD (Resilient Distributed Datasets), które mogą być buforowane między węzłami obliczeniowymi w klastrze
- Wiele formatów: Spark ma interfejs API źródła danych. Zapewni to mechanizm dostępu do danych strukturalnych poprzez Spark SQL. Źródłami danych może być wszystko, Spark stworzy mechanizm do konwersji danych i przyciągnie je do iskry. Spark obsługuje wiele źródeł danych, takich jak Hive, HBase, Cassandra, JSON, Parquet, ORC.
- Spark zapewnia kilka wbudowanych bibliotek do wykonywania wielu zadań z tego samego rdzenia, takich jak przetwarzanie wsadowe, gotowanie na parze, uczenie maszynowe, interaktywne zapytania SQL. Jednak Hadoop obsługuje tylko przetwarzanie wsadowe. Spark Zapewnij MLIb (biblioteki uczenia maszynowego), które będą pomocne dla Big-Data Developer w przetwarzaniu danych. Pomaga to usunąć zależności od wielu narzędzi do różnych celów. Spark zapewnia wspólną potężną platformę dla inżynierów danych i naukowców zajmujących się danymi, która zapewnia zarówno wysoką wydajność, jak i łatwość użytkowania.
- Apache Spark opóźnia wykonanie procesu, dopóki działanie nie będzie konieczne. Jest to jedna z kluczowych cech iskier. Spark doda każdą transformację do DAG (Direct Acyclic Graph) w celu wykonania, a kiedy akcja chce ją wykonać, faktycznie uruchomi DAG do przetworzenia.
- Streaming w czasie rzeczywistym: Apache Spark Zapewnia obliczenia w czasie rzeczywistym i małe opóźnienia, ze względu na wykonanie w pamięci. Spark został zaprojektowany z myślą o dużych skalowalnościach, takich jak tysiąc węzłów klastra i kilka modeli do obliczeń.
4. Co to jest PRZĘDZA?
Odpowiedź:
To są podstawowe pytania do wywiadu Spark, zadawane podczas wywiadu. YARN (Yet Another Negotiator Resource) jest menedżerem zasobów. Spark to platforma zapewniająca szybkie wykonanie. Spark użyje YARN do wykonania zadania w klastrze, a nie we własnym wbudowanym menedżerze. Istnieje kilka konfiguracji uruchamiania Yarn. Obejmują one tryb główny, tryb wdrażania, pamięć sterownika, pamięć modułu wykonującego, rdzenie modułu wykonującego i kolejkę. Oto najczęściej zadawane pytania podczas wywiadu Spark:
Zalety Spark w porównaniu z Map-Reduce
Spark ma przewagę nad Map-Reduce w następujący sposób:
Ze względu na zdolność procesu w pamięci, Spark jest w stanie wykonać 10 do 100 razy szybciej niż Map-Reduce. Gdzie Map-Reduce można wykorzystać do utrwalenia danych na etapie Map and Reduce.
Apache Spark zapewnia wysoki poziom wbudowanych bibliotek do przetwarzania wielu zadań w tym samym czasie, co przetwarzanie wsadowe, strumieniowanie w czasie rzeczywistym, Spark-SQL, strumieniowanie strukturalne, MLib itp. Jednocześnie Hadoop zapewnia tylko przetwarzanie wsadowe.
Proces zmniejszania mapy Hadoop będzie zależny od dysku, gdzie Spark zapewnia buforowanie i pamięć.
Spark ma obie iteracyjne, wykonuje wielokrotne obliczenia na tym samym zbiorze danych i interaktywny, wykonuje obliczenia między różnymi zestawami danych, w których Hadoop nie obsługuje obliczeń iteracyjnych.
5. W jakim języku obsługiwany jest Spark?
Odpowiedź:
Obsługa Spark Scala, Python, R i Java. Na rynku deweloper Big Data preferuje głównie Scalę i Pythona. Aby waga skompilowała kod, potrzebujemy ustawić ścieżkę do katalogu scale / bin lub utworzyć plik jar.
6. Co to jest RDD?
Odpowiedź:
RDD jest abstrakcją Resilient Distributed Dataset, która zapewnia kolekcję elementów podzielonych na wszystkie węzły klastra, co pomoże wykonywać wiele procesów równolegle. Korzystając z RDD, programista może przechowywać dane w pamięci lub w pamięci podręcznej, aby móc je efektywnie wykorzystać do równoległego wykonywania operacji. RDD można łatwo odzyskać po awarii węzła.
Część 2 - Pytania do wywiadu Spark (zaawansowane)
Przyjrzyjmy się teraz zaawansowanym pytaniom podczas wywiadu Spark.
7. Jakie są czynniki odpowiedzialne za wykonanie Spark?
Odpowiedź:
1. Spark zapewnia wykonywanie w pamięci zamiast zależnego od dysku, takiego jak Hadoop Map-Reduce.
2.RDD Resilient Distributed Dataset, który jest odpowiedzialnym równoległym wykonywaniem wielu operacji na wszystkich węzłach klastra.
3. Spark zapewnia funkcję zmiennej współdzielonej do wykonywania równoległego. Te zmienne pomagają zmniejszyć transfer danych między węzłami i udostępniają kopię wszystkich węzłów. Istnieją dwie zmienne.
4. Zmienna rozgłoszeniowa: tej zmiennej można użyć do buforowania wartości w pamięci we wszystkich węzłach
5. Zmienna akumulatorów: ta zmienna jest tylko „dodawana”, na przykład liczniki i sumy.
8. Co to jest pamięć modułu wykonującego?
Odpowiedź:
Oto najczęściej zadawane pytania podczas wywiadu Spark. Jest to wielkość sterty przydzielona dla executora Spark. Tą właściwością można sterować za pomocą właściwości spark.executor.memory flagi –executor-memory. Każda aplikacja Spark ma jednego executora dla każdego węzła roboczego. Ta właściwość odnosi się do ilości pamięci węzłów roboczych przydzielonej dla aplikacji.
9. Jak korzystać ze Spark Stream? Wyjaśnić jeden przypadek użycia?
Odpowiedź:
Spark Stream to jedna z funkcji przydatnych w przypadku użycia w czasie rzeczywistym. W tym celu możemy użyć flume, Kafka z iskrą. Flume wyzwoli dane ze źródła. Kafka utrwali dane w temacie. Z Kafka Spark pobierze dane za pomocą strumienia i przesyła strumieniowo dane i wykonuje transformację.
Możemy wykorzystać ten proces do podejrzanych transakcji w czasie rzeczywistym, ofert w czasie rzeczywistym itp.
Przejdźmy do następnych pytań do wywiadu Spark
10. Czy możemy używać Spark do procesu ETL?
Odpowiedź:
Tak, możemy użyć platformy Spark do procesu ETL.
11. Co to jest Spark SQL?
Odpowiedź:
Jest to jeden ze specjalnych składników Spark, który będzie obsługiwał zapytania SQL.
12. Co leniwa ocena?
Odpowiedź:
Kiedy pracujemy z iskrą, Transformacje nie są oceniane, dopóki nie wykonasz akcji. Pomaga to zoptymalizować ogólny proces przetwarzania danych. Podczas definiowania transformacji zostanie dodany do DAG (Direct Acyclic Graph). A w czasie akcji zacznie przeprowadzać transformacje stopniowe. Jest to przydatne pytanie podczas wywiadu Spark.
Polecany artykuł
Jest to przewodnik po liście pytań i odpowiedzi na rozmowę kwalifikacyjną, aby kandydat mógł łatwo zlikwidować te pytania podczas rozmowy kwalifikacyjnej. Możesz także przejrzeć następujące artykuły, aby dowiedzieć się więcej-
- Java vs Node JS upraszcza różnice
- Pytania do bazy danych Mongo | Przydatne i najczęściej zadawane pytania
- 15 najbardziej udanych pytań i odpowiedzi na wywiad R
- Wywiad z Perlem - pytania i odpowiedzi
- Pytania do wywiadu systemowego SAS - 10 najważniejszych przydatnych pytań