Top 60 Hadoop & Pytania do wywiadu MapReduce & Odpowiedzi

Anonim

ściągnij PDF

Poniżej znajdują się często zadawane pytania w wywiadach dla świeżo upieczonych i doświadczonych programistów.

1) Co to jest Hadoop Map Reduce?

Do przetwarzania dużych zestawów danych równolegle w klastrze Hadoop używana jest struktura Hadoop MapReduce. Analiza danych wykorzystuje dwuetapową mapę i proces redukcji.

2) Jak działa Hadoop MapReduce?

W MapReduce, podczas fazy mapy, zlicza słowa w każdym dokumencie, podczas gdy w fazie zmniejszania agreguje dane zgodnie z dokumentem obejmującym całą kolekcję. Podczas fazy mapy dane wejściowe są dzielone na podziały w celu analizy przez zadania mapowania działające równolegle w ramach platformy Hadoop.

3) Wyjaśnij, na czym polega tasowanie w MapReduce?

Proces, w którym system przeprowadza sortowanie i przesyła dane wyjściowe mapy do reduktora jako dane wejściowe, jest znany jako tasowanie

4) Wyjaśnij, czym jest rozproszona pamięć podręczna w programie MapReduce Framework?

Rozproszona pamięć podręczna to ważna funkcja udostępniana przez strukturę MapReduce. Jeśli chcesz udostępnić niektóre pliki we wszystkich węzłach w klastrze Hadoop, używana jest rozproszona pamięć podręczna. Mogą to być wykonywalne pliki jar lub proste pliki właściwości.

5) Wyjaśnij, czym jest NameNode w Hadoop?

NameNode w Hadoop to węzeł, w którym Hadoop przechowuje wszystkie informacje o lokalizacji plików w HDFS (rozproszony system plików Hadoop). Innymi słowy, NameNode jest centralnym elementem systemu plików HDFS. Prowadzi rejestr wszystkich plików w systemie plików i śledzi dane plików w klastrze lub na wielu komputerach

6) Wyjaśnij, czym jest JobTracker w Hadoop? Jakie działania wykonuje Hadoop?

W Hadoop do przesyłania i śledzenia zadań MapReduce jest używany JobTracker. Narzędzie do śledzenia zadań działa we własnym procesie JVM

Job Tracker wykonuje następujące czynności w Hadoop

  • Aplikacja klienta przesyła oferty pracy do modułu śledzenia ofert pracy
  • JobTracker komunikuje się w trybie nazwy, aby określić lokalizację danych
  • W pobliżu danych lub przy dostępnych gniazdach JobTracker lokalizuje węzły TaskTracker
  • Na wybranych węzłach TaskTracker przesyła pracę
  • Gdy zadanie się nie powiedzie, narzędzie Job Tracker powiadamia i decyduje, co dalej zrobić.
  • Węzły TaskTracker są monitorowane przez JobTracker

7) Wyjaśnij, czym jest bicie serca w HDFS?

Bicie serca odnosi się do sygnału używanego między węzłem danych a węzłem nazwy oraz między modułem śledzenia zadań a modułem śledzenia zadań, jeśli węzeł nazwy lub moduł śledzenia zadań nie odpowiada na sygnał, uważa się, że występują problemy z węzłem danych lub zadaniem naganiacz zwierza

8) Wyjaśnij, czym są kombinatory i kiedy należy ich używać w zadaniu MapReduce?

Aby zwiększyć wydajność programu MapReduce, używane są narzędzia Combiners. Ilość danych można zmniejszyć za pomocą sumatora, które należy przesłać do reduktorów. Jeśli wykonywana operacja jest przemienna i asocjacyjna, możesz użyć kodu reduktora jako sumatora. Wykonanie sumatora nie jest gwarantowane w Hadoop

9) Co się dzieje, gdy węzeł danych ulegnie awarii?

Gdy węzeł danych ulegnie awarii

  • Jobtracker i namenode wykrywają awarię
  • W węźle, który uległ awarii, wszystkie zadania są ponownie planowane
  • Namenode replikuje dane użytkownika do innego węzła

10) Wyjaśnij, czym jest egzekucja spekulacyjna?

Na platformie Hadoop podczas wykonywania spekulacyjnego uruchamiana jest pewna liczba zduplikowanych zadań. W innym węźle podrzędnym można wykonać wiele kopii tej samej mapy lub zadania redukcji przy użyciu wykonania spekulacyjnego. Krótko mówiąc, jeśli wykonanie zadania na określonym dysku zajmuje dużo czasu, Hadoop utworzy zduplikowane zadanie na innym dysku. Dysk, który zakończy zadanie jako pierwszy, jest zachowywany, a dyski, które nie zostaną ukończone jako pierwsze, są zabijane.

11) Wyjaśnij, jakie są podstawowe parametry Mappera?

Podstawowe parametry Mappera to

  • LongWritable i Text
  • Tekst i IntWritable

12) Wyjaśnij, jaka jest funkcja partycjonera MapReduce?

Funkcją partycjonera MapReduce jest upewnienie się, że cała wartość pojedynczego klucza trafia do tego samego reduktora, co ostatecznie pomaga w równomiernym rozłożeniu danych wyjściowych mapy na reduktory

13) Wyjaśnij, jaka jest różnica między podziałem wejścia a blokiem HDFS?

Logiczny podział danych jest nazywany dzieleniem, podczas gdy fizyczny podział danych jest nazywany blokiem HDFS

14) Wyjaśnij, co się dzieje w formacie tekstowym?

W formacie tekstowym każda linia w pliku tekstowym jest rekordem. Wartość to zawartość wiersza, a klucz to przesunięcie bajtowe wiersza. Na przykład Klucz: longWritable, Value: text

15) Wspomnieć, jakie są główne parametry konfiguracyjne, które użytkownik musi określić, aby uruchomić zadanie MapReduce?

Użytkownik platformy MapReduce musi określić

  • Lokalizacje wejściowe zadania w rozproszonym systemie plików
  • Lokalizacja wyjściowa zadania w rozproszonym systemie plików
  • Format wejściowy
  • Format wyjściowy
  • Klasa zawierająca funkcję map
  • Klasa zawierająca funkcję redukującą
  • Plik JAR zawierający klasy mapowania, reduktora i sterownika

16) Wyjaśnij, czym jest WebDAV w Hadoop?

Do obsługi edycji i aktualizacji plików WebDAV to zestaw rozszerzeń protokołu HTTP. W większości systemów operacyjnych udziały WebDAV można montować jako systemy plików, dzięki czemu można uzyskać dostęp do HDFS jako standardowego systemu plików, udostępniając HDFS przez WebDAV.

17) Wyjaśnij, czym jest Sqoop w Hadoop?

Do przesyłania danych między zarządzaniem relacyjnymi bazami danych (RDBMS) a Hadoop HDFS służy narzędzie znane jako Sqoop. Korzystanie z danych Sqoop można przesyłać z RDMS, takich jak MySQL lub Oracle do HDFS, a także eksportować dane z pliku HDFS do RDBMS

18) Wyjaśnij, w jaki sposób JobTracker planuje zadanie?

Moduł śledzenia zadań wysyła komunikaty pulsu do Jobtracker zwykle co kilka minut, aby upewnić się, że JobTracker jest aktywny i działa. Komunikat informuje również JobTracker o liczbie dostępnych miejsc, dzięki czemu JobTracker może być na bieżąco z tym, gdzie można delegować pracę klastra

19) Wyjaśnij, co to jest format wejściowy pliku sekwencyjnego?

Sequencefileinputformat służy do odczytywania plików po kolei. Jest to specyficzny format skompresowanego pliku binarnego, który jest zoptymalizowany pod kątem przekazywania danych między danymi wyjściowymi jednego zadania MapReduce a wejściem innego zadania MapReduce.

20) Wyjaśnij, co robi klasa conf.setMapper?

Conf.setMapperclass ustawia klasę mapowania i wszystkie rzeczy związane z zadaniem mapowania, takie jak odczytywanie danych i generowanie pary klucz-wartość poza maperem

21) Wyjaśnij, czym jest Hadoop?

Jest to platforma oprogramowania typu open source do przechowywania danych i uruchamiania aplikacji na klastrach standardowego sprzętu. Zapewnia ogromną moc obliczeniową i olbrzymią ilość miejsca na przechowywanie dowolnego typu danych.

22) Wspomnij, jaka jest różnica między RDBMS a Hadoop?

RDBMS Hadoop
RDBMS to system zarządzania relacyjnymi bazami danych Hadoop to płaska konstrukcja oparta na węzłach
Służy do przetwarzania OLTP, podczas gdy Hadoop Obecnie jest używany do celów analitycznych i przetwarzania BIG DATA
W RDBMS klaster bazy danych używa tych samych plików danych, które są przechowywane we współużytkowanym magazynie W Hadoop dane magazynu mogą być przechowywane niezależnie w każdym węźle przetwarzania.
Musisz wstępnie przetworzyć dane przed ich przechowywaniem nie musisz wstępnie przetwarzać danych przed ich przechowywaniem

23) Wspomnij o podstawowych komponentach Hadoop?

Podstawowe komponenty Hadoop obejmują:

  • HDFS
  • MapReduce

24) Co to jest NameNode w Hadoop?

NameNode w Hadoop to miejsce, w którym Hadoop przechowuje wszystkie informacje o lokalizacji plików w HDFS. Jest to węzeł główny, w którym działa moduł śledzenia zadań i składa się z metadanych.

25) Wspomnij, jakie komponenty danych są używane przez Hadoop?

Składniki danych używane przez Hadoop to

  • Świnia
  • Ul

26) Wspomnij, jaki składnik przechowywania danych jest używany przez Hadoop?

Składnikiem przechowywania danych używanym przez Hadoop jest HBase.

27) Wspomnij, jakie są najpopularniejsze formaty wejściowe zdefiniowane w Hadoop?

Najpopularniejsze formaty wejściowe zdefiniowane w Hadoop to;

  • TextInputFormat
  • KeyValueInputFormat
  • SequenceFileInputFormat

28) Co to jest InputSplit w Hadoop?

Dzieli pliki wejściowe na porcje i przypisuje każdy podział do programu mapującego w celu przetworzenia.

29) W przypadku zadania Hadoop, jak napiszesz niestandardowy partycjoner?

Piszesz niestandardowy partycjoner dla zadania Hadoop, postępuj zgodnie z następującą ścieżką

  • Utwórz nową klasę, która rozszerza klasę Partitioner
  • Zastąp metodę getPartition
  • W opakowaniu, które uruchamia MapReduce
  • Dodaj niestandardową partycję do zadania za pomocą metody Set Partitioner Class lub - dodaj niestandardową partycję do zadania jako plik konfiguracyjny

30) Czy w przypadku zadania w Hadoop można zmienić liczbę tworzonych maperów?

Nie, nie można zmienić liczby mapperów, które mają zostać utworzone. Liczba elementów odwzorowujących jest określana przez liczbę podziałów danych wejściowych.

31) Wyjaśnij, co to jest plik sekwencji w Hadoop?

Do przechowywania binarnych par klucz / wartość używany jest plik sekwencji. W przeciwieństwie do zwykłego pliku skompresowanego, plik sekwencji obsługuje dzielenie nawet wtedy, gdy dane w pliku są skompresowane.

32) Kiedy Namenode nie działa, co dzieje się z programem Job Tracker?

Namenode jest pojedynczym punktem awarii w HDFS, więc gdy Namenode nie działa, klaster zostanie uruchomiony.

33) Wyjaśnij, jak odbywa się indeksowanie w HDFS?

Hadoop ma unikalny sposób indeksowania. Gdy dane zostaną zapisane zgodnie z rozmiarem bloku, HDFS będzie przechowywać ostatnią część danych, która mówi, gdzie będzie następna część danych.

34) Wyjaśnij, czy można wyszukiwać pliki przy użyciu symboli wieloznacznych?

Tak, możliwe jest wyszukiwanie plików przy użyciu symboli wieloznacznych.

35) Wymień trzy pliki konfiguracyjne Hadoop?

Trzy pliki konfiguracyjne to

  • core-site.xml
  • mapred-site.xml
  • hdfs-site.xml

36) Wyjaśnij, jak możesz sprawdzić, czy Namenode działa obok za pomocą polecenia jps?

Oprócz użycia polecenia jps, aby sprawdzić, czy działa Namenode, możesz również użyć

/etc/init.d/hadoop-0.20-namenode status.

37) Wyjaśnij, co to jest „mapa”, a co „reduktor” w Hadoop?

W Hadoop mapa jest fazą rozwiązywania zapytań HDFS. Mapa odczytuje dane z lokalizacji wejściowej i wyprowadza parę klucz-wartość zgodnie z typem danych wejściowych.

W Hadoop reduktor zbiera dane wyjściowe generowane przez program mapujący, przetwarza je i samodzielnie tworzy ostateczne dane wyjściowe.

38) W Hadoop, który plik kontroluje raportowanie w Hadoop?

W Hadoop plik hadoop-metrics.properties steruje raportowaniem.

39) Aby użyć Hadoop, wymienić wymagania sieciowe?

W przypadku korzystania z Hadoop lista wymagań sieciowych to:

  • Połączenie SSH bez hasła
  • Secure Shell (SSH) do uruchamiania procesów serwerowych

40) Wspomnij, czym jest świadomość stojaka?

Świadomość stojaka to sposób, w jaki namenode określa sposób umieszczania bloków na podstawie definicji stojaka.

41) Wyjaśnij, czym jest śledzenie zadań w Hadoop?

Śledzenie zadań na platformie Hadoop to demon węzła podrzędnego w klastrze, który przyjmuje zadania z JobTracker. Wysyła również komunikaty pulsu do JobTracker, co kilka minut, aby potwierdzić, że JobTracker nadal działa.

42) Wspomnij, jakie demony działają w węźle głównym i podrzędnym?

  • Demony działające w węźle głównym to „NameNode”
  • Demony działające w każdym węźle podrzędnym to „Śledzenie zadań” i „Dane”

43) Wyjaśnij, jak można debugować kod Hadoop?

Popularne metody debugowania kodu Hadoop to:

  • Korzystając z interfejsu internetowego udostępnionego przez platformę Hadoop
  • Korzystając z liczników

44) Wyjaśnij, czym są węzły magazynowania i obliczeniowe?

  • Węzeł magazynowania to maszyna lub komputer, na którym znajduje się system plików do przechowywania przetwarzanych danych
  • Węzeł obliczeniowy to komputer lub maszyna, na której zostanie wykonana rzeczywista logika biznesowa.

45) Wspomnij, jakie jest zastosowanie obiektu kontekstu?

Obiekt kontekstu umożliwia programowi mapującemu interakcję z resztą platformy Hadoop

system. Zawiera dane konfiguracyjne zadania, a także interfejsy, które umożliwiają wysyłanie danych wyjściowych.

46) Wspomnij, jaki jest następny krok po Mapper lub MapTask?

Następnym krokiem po Mapper lub MapTask jest sortowanie danych wyjściowych Mappera i tworzenie partycji na dane wyjściowe.

47) Wspomnij, jaka jest liczba domyślnych partycjonerów w Hadoop?

Na platformie Hadoop domyślnym programem do partycjonowania jest partycjoner typu „Hash”.

48) Wyjaśnij, do czego służy RecordReader w Hadoop?

Na platformie Hadoop RecordReader ładuje dane ze źródła i konwertuje je na pary (klucz, wartość) odpowiednie do odczytu przez program mapujący.

49) Wyjaśnij, w jaki sposób dane są partycjonowane przed wysłaniem do reduktora, jeśli nie zdefiniowano niestandardowej partycji na platformie Hadoop?

Jeśli na platformie Hadoop nie zdefiniowano żadnego niestandardowego programu do partycjonowania, domyślny partycjoner oblicza wartość skrótu dla klucza i przypisuje partycję na podstawie wyniku.

50) Wyjaśnij, co się dzieje, gdy Hadoop utworzyło 50 zadań dla zadania, a jedno z nich się nie powiodło?

Ponownie uruchomi zadanie na innym TaskTrackerze, jeśli zadanie nie powiedzie się bardziej niż zdefiniowany limit.

51) Wspomnij, jaki jest najlepszy sposób kopiowania plików między klastrami HDFS?

Najlepszym sposobem kopiowania plików między klastrami HDFS jest użycie wielu węzłów i polecenia distcp, dzięki czemu obciążenie jest współdzielone.

52) Wspomnij, jaka jest różnica między HDFS a NAS?

Bloki danych HDFS są dystrybuowane na dyskach lokalnych wszystkich maszyn w klastrze, podczas gdy dane NAS są przechowywane na dedykowanym sprzęcie.

53) Wspomnij, czym Hadoop różni się od innych narzędzi do przetwarzania danych?

W Hadoop możesz zwiększyć lub zmniejszyć liczbę mapperów bez martwienia się o ilość danych do przetworzenia.

54) Wspomnij, jaką pracę wykonuje klasa conf?

Klasa konfiguracji zadań oddziela różne zadania działające w tym samym klastrze. Wykonuje ustawienia na poziomie stanowiska, takie jak deklarowanie pracy w prawdziwym środowisku.

55) Proszę wspomnieć, co to jest kontrakt interfejsów API Hadoop MapReduce dla klucza i klasy wartości?

W przypadku klasy klucza i wartości istnieją dwa kontrakty interfejsów API Hadoop MapReduce

  • Wartość musi definiować interfejs org.apache.hadoop.io.Writable
  • Klucz musi definiować interfejs org.apache.hadoop.io.WritableComparable

56) Wspomnij, w jakich trzech trybach można uruchomić Hadoop?

Istnieją trzy tryby, w których można uruchomić Hadoop

  • Tryb pseudo rozproszony
  • Tryb autonomiczny (lokalny)
  • Tryb w pełni rozproszony

57) Wspomnij, co robi format wprowadzania tekstu?

Format wprowadzania tekstu utworzy obiekt liniowy będący liczbą szesnastkową. Wartość jest traktowana jako cały tekst w wierszu, podczas gdy klucz jest traktowany jako obiekt wierszowy. Program odwzorowujący otrzyma wartość jako parametr „tekst”, a klucz jako parametr „do długiego zapisu”.

58) Wspomnij, ile InputSplits jest tworzonych przez platformę Hadoop?

Hadoop zrobi 5 podziałów

  • Podział na 1 dla plików 64K
  • Podział na 2 dla plików 65 MB
  • 2 podziały dla plików 127 MB

59) Wspomnij, co to jest rozproszona pamięć podręczna w Hadoop?

Rozproszona pamięć podręczna w Hadoop to funkcja zapewniana przez strukturę MapReduce. W czasie wykonywania zadania służy do buforowania pliku. Framework kopiuje niezbędne pliki do węzła podrzędnego przed wykonaniem jakiegokolwiek zadania w tym węźle.

60) Wyjaśnij, w jaki sposób Hadoop Classpath odgrywa istotną rolę w zatrzymywaniu lub uruchamianiu demonów Hadoop?

Classpath będzie składać się z listy katalogów zawierających pliki jar do zatrzymywania lub uruchamiania demonów.