Учебники

13) Hadoop Интервью Вопросы

Ниже приведены часто задаваемые вопросы в интервью для новичков и опытных разработчиков.

1) Что такое Hadoop Map Reduce?

Для обработки больших наборов данных параллельно в кластере Hadoop используется инфраструктура Hadoop MapReduce. Анализ данных использует двухэтапную карту и сокращает процесс.

2) Как работает Hadoop MapReduce?

В MapReduce во время фазы карты он считает слова в каждом документе, а в фазе сокращения он объединяет данные в соответствии с документом, охватывающим всю коллекцию. На этапе сопоставления входные данные делятся на разбиения для анализа по задачам сопоставления, выполняемым параллельно в среде Hadoop.

3) Объясните, что тасует в MapReduce?

Процесс, посредством которого система выполняет сортировку и передает выходные данные карты в редуктор в качестве входных данных, известен как случайное перемешивание.

4) Объясните, что такое распределенный кеш в MapReduce Framework?

Распределенный кэш – это важная функция, предоставляемая платформой MapReduce. Если вы хотите поделиться некоторыми файлами между всеми узлами в Hadoop Cluster, используется распределенный кэш. Эти файлы могут быть исполняемыми файлами jar или файлом простых свойств.

5) Объясните, что такое NameNode в Hadoop?

NameNode в Hadoop – это узел, где Hadoop хранит всю информацию о расположении файлов в HDFS (распределенная файловая система Hadoop). Другими словами, NameNode является центральным элементом файловой системы HDFS. Он хранит записи всех файлов в файловой системе и отслеживает данные файла через кластер или несколько компьютеров

6) Объясните, что такое JobTracker в Hadoop? Какими действиями руководствуется Hadoop?

В Hadoop для отправки и отслеживания заданий MapReduce используется JobTracker. Отслеживание заданий выполняется по собственному процессу JVM

Job Tracker выполняет следующие действия в Hadoop

  • Клиентское приложение отправляет вакансии на трекер
  • JobTracker общается в режиме имени, чтобы определить местоположение данных
  • Рядом с данными или с доступными слотами JobTracker находит узлы TaskTracker
  • На выбранных узлах TaskTracker, он отправляет работу
  • Когда задача не выполняется, система отслеживания заданий уведомляет и решает, что делать дальше.
  • Узлы TaskTracker контролируются JobTracker

7) Объясните, что такое сердцебиение в HDFS?

Сердцебиение относится к сигналу, используемому между узлом данных и узлом имени, а также между средством отслеживания задач и средством отслеживания заданий. Если узел имени или средство отслеживания заданий не отвечает на сигнал, то считается, что существуют некоторые проблемы с узлом данных или заданием трекер

8) Объясните, что такое объединители и когда вам следует использовать объединитель в задании MapReduce?

Для повышения эффективности программы MapReduce используются комбинаторы. Объем данных может быть уменьшен с помощью сумматора, который необходимо передать в редукторы. Если выполняемая операция является коммутативной и ассоциативной, вы можете использовать свой код редуктора в качестве объединителя. Выполнение сумматора не гарантируется в Hadoop

9) Что происходит при сбое узла данных?

Когда происходит сбой узла данных

  • Jobtracker и namenode обнаруживают сбой
  • На отказавшем узле все задачи перепланированы
  • Namenode реплицирует данные пользователя на другой узел

10) Объясните, что такое спекулятивное исполнение?

В Hadoop во время спекулятивного выполнения запускается определенное количество повторяющихся задач. На другом подчиненном узле можно выполнить несколько копий одной и той же карты или задачи сокращения с помощью спекулятивного выполнения. Проще говоря, если конкретному диску требуется много времени для выполнения задачи, Hadoop создаст дублирующую задачу на другом диске. Диск, который первым завершает задачу, сохраняется, а диски, которые не заканчивают сначала, уничтожаются.

11) Объясните, каковы основные параметры картографа?

Основными параметрами Mapper являются

  • LongWritable и текст
  • Текст и IntWritable

12) Объясните, какова функция разделителя MapReduce?

Функция разделителя MapReduce заключается в том, чтобы все значения одного ключа передавались одному и тому же редуктору, что в конечном итоге помогает равномерно распределить вывод карты по редукторам.

13) Объясните, в чем разница между входным разделением и блоком HDFS?

Логическое разделение данных называется разделением, а физическое разделение данных – блоком HDFS.

14) Объясните, что происходит в текстовом формате?

В формате ввода текста каждая строка в текстовом файле является записью. Значение – это содержимое строки, а Key – байтовое смещение строки. Например, Key: longWritable, Значение: текст

15) Укажите, какие основные параметры конфигурации необходимо указать пользователю для запуска задания MapReduce?

Пользователь каркаса MapReduce должен указать

  • Расположение ввода задания в распределенной файловой системе
  • Расположение вывода задания в распределенной файловой системе
  • Формат ввода
  • Выходной формат
  • Класс, содержащий функцию карты
  • Класс, содержащий функцию приведения
  • JAR-файл, содержащий классы мапперов, редукторов и драйверов

16) Объясните, что такое WebDAV в Hadoop?

Для поддержки редактирования и обновления файлов WebDAV представляет собой набор расширений для HTTP. В большинстве операционных систем общие папки WebDAV могут быть смонтированы как файловые системы, поэтому можно получить доступ к HDFS как к стандартной файловой системе, открыв HDFS через WebDAV.

17) Объясните, что такое Sqoop в Hadoop?

Для передачи данных между управлением реляционными базами данных (RDBMS) и Hadoop HDFS используется инструмент, известный как Sqoop. С помощью Sqoop данные могут передаваться из RDMS, например MySQL или Oracle, в HDFS, а также экспортироваться из файла HDFS в RDBMS.

18) Объясните, как JobTracker планирует задачу?

Трекер задач отправляет сообщения пульса в Jobtracker обычно каждые несколько минут, чтобы убедиться, что JobTracker активен и функционирует. Сообщение также информирует JobTracker о количестве доступных слотов, поэтому JobTracker может быть в курсе того, как можно делегировать работу кластера.

19) Объясните, что такое Sequencefileinputformat?

Sequencefileinputformat используется для последовательного чтения файлов. Это специальный сжатый двоичный формат файла, который оптимизирован для передачи данных между выходными данными одного задания MapReduce на вход другого задания MapReduce.

20) Объясните, что делает класс conf.setMapper?

Conf.setMapperclass устанавливает класс mapper и все вещи, связанные с заданием карты, такие как чтение данных и генерация пары ключ-значение из mapper

21) Объясните, что такое Hadoop?

Это программная платформа с открытым исходным кодом для хранения данных и запуска приложений на кластерах стандартного оборудования. Это обеспечивает огромную вычислительную мощность и большое хранилище для любого типа данных.

22) Укажите, в чем разница между СУБД и Hadoop?

RDBMS Hadoop
СУБД – это система управления реляционными базами данных Hadoop – это плоская структура на основе узлов
Используется для обработки OLTP, тогда как Hadoop В настоящее время используется для аналитической и для обработки больших данных
В СУБД кластер базы данных использует те же файлы данных, которые хранятся в общем хранилище В Hadoop данные хранения могут храниться независимо в каждом узле обработки.
Вам необходимо предварительно обработать данные перед их сохранением вам не нужно предварительно обрабатывать данные перед их сохранением

23) Упомянуть основные компоненты Hadoop?

Основные компоненты Hadoop включают в себя:

  • HDFS
  • Уменьшение карты

24) Что такое NameNode в Hadoop?

NameNode в Hadoop – это место, где Hadoop хранит всю информацию о расположении файлов в HDFS. Это главный узел, на котором работает средство отслеживания заданий, и состоит из метаданных.

25) Укажите, какие компоненты данных использует Hadoop?

Компоненты данных, используемые Hadoop:

  • свинья
  • улей

26) Укажите, какой компонент хранения данных использует Hadoop?

Компонент хранения данных, используемый Hadoop, – это HBase.

27) Укажите, какие наиболее распространенные форматы ввода определены в Hadoop?

Наиболее распространенные форматы ввода, определенные в Hadoop:

  • TextInputFormat
  • KeyValueInputFormat
  • SequenceFileInputFormat

28) В Hadoop, что такое InputSplit?

Он разбивает входные файлы на куски и назначает каждое разбиение мапперу для обработки.

29) Как для работы с Hadoop вы будете писать собственный разделитель?

Вы пишете пользовательский разделитель для задания Hadoop, следуя по следующему пути

  • Создайте новый класс, который расширяет класс Partitioner.
  • Переопределить метод getPartition
  • В оболочке, которая запускает MapReduce
  • Добавьте пользовательский разделитель в задание, используя набор методов Partitioner Class или – добавьте пользовательский разделитель в задание в виде файла конфигурации

30) Можно ли изменить количество создаваемых карт для работы в Hadoop?

Нет, невозможно изменить количество создаваемых картографов. Количество картографов определяется количеством входных разбиений.

31) Объясните, что такое файл последовательности в Hadoop?

Для хранения двоичных пар ключ / значение используется файл последовательности. В отличие от обычного сжатого файла, файл последовательности поддерживает разбиение, даже если данные внутри файла сжаты.

32) Когда Namenode не работает, что происходит с трекером работы?

Namenode – это единственная точка отказа в HDFS, поэтому, когда Namenode не работает, ваш кластер будет отключен.

33) Объясните, как осуществляется индексация в HDFS?

Hadoop имеет уникальный способ индексации. После того, как данные сохранены в соответствии с размером блока, HDFS продолжит хранить последнюю часть данных, в которой будет указано, где будет находиться следующая часть данных.

34) Объясните, можно ли искать файлы с использованием подстановочных знаков?

Да, можно искать файлы с использованием подстановочных знаков.

35) Перечислите три файла конфигурации Hadoop?

Три файла конфигурации

  • ядро-site.xml
  • mapred-site.xml
  • HDFS-site.xml

36) Объясните, как вы можете проверить, работает ли Namenode, используя команду jps?

Помимо использования команды jps, чтобы проверить, работает ли Namenode, вы также можете использовать

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

37) Объясните, что такое «карта» и что такое «редуктор» в Hadoop?

В Hadoop карта является этапом решения запросов HDFS. Карта считывает данные из местоположения ввода и выводит пару ключ-значение в соответствии с типом ввода.

В Hadoop редуктор собирает выходные данные, сгенерированные преобразователем, обрабатывает их и создает собственный конечный результат.

38) Какой файл управляет отчетностью в Hadoop в Hadoop?

В Hadoop файл hadoop-metrics.properties управляет отчетами.

39) Для использования Hadoop перечислите сетевые требования?

Для использования Hadoop список требований к сети:

  • SSH-соединение без пароля
  • Secure Shell (SSH) для запуска серверных процессов

40) Укажите, что такое стойка для осознания?

Осведомленность о стойке – это способ, которым namenode определяет, как размещать блоки, основываясь на определениях стойки.

41) Объясните, что такое трекер задач в Hadoop?

Трекер задач в Hadoop – это демон подчиненного узла в кластере, который принимает задачи из JobTracker. Каждые несколько минут он также отправляет сообщения пульса в JobTracker, чтобы подтвердить, что JobTracker все еще жив.

42) Укажите, какие демоны работают на главном и подчиненных узлах?

  • Демоны запускаются на главном узле “NameNode”
  • Демоны, запущенные на каждом подчиненном узле: «Task Tracker» и «Data»

43) Объясните, как можно отлаживать код Hadoop?

Популярные методы отладки кода Hadoop:

  • Используя веб-интерфейс, предоставляемый платформой Hadoop
  • С помощью счетчиков

44) Объясните, что такое узлы хранения и вычисления?

  • Узел хранения – это компьютер или компьютер, на котором находится ваша файловая система для хранения данных обработки.
  • Вычислительный узел – это компьютер или машина, на которой будет выполняться ваша фактическая бизнес-логика.

45) Укажите, что такое использование объекта контекста?

Объект Context позволяет мапперу взаимодействовать с остальной частью Hadoop

система. Он включает в себя данные конфигурации для задания, а также интерфейсы, которые позволяют ему выдавать выходные данные.

46) Укажите, каким будет следующий шаг после Mapper или MapTask?

Следующий шаг после Mapper или MapTask состоит в том, что выходные данные Mapper отсортированы, и для вывода будут созданы разделы.

47) Укажите, какое количество разделителей по умолчанию в Hadoop?

В Hadoop по умолчанию используется разделитель «Hash».

48) Объясните, какова цель RecordReader в Hadoop?

В Hadoop RecordReader загружает данные из своего источника и преобразует их в пары (ключ, значение), пригодные для чтения Mapper.

49) Объясните, как данные разделяются перед их отправкой в ​​редуктор, если в Hadoop не определен пользовательский разделитель?

Если в Hadoop не определен пользовательский разделитель, то используемый по умолчанию разделитель вычисляет хеш-значение для ключа и назначает раздел на основе результата.

50) Объясните, что происходит, когда Hadoop порождает 50 заданий на задание и одно из заданий не выполнено?

Он перезапустит задачу еще раз на каком-либо другом TaskTracker, если задача завершится с ошибкой, превышающей установленный предел.

51) Укажите, как лучше копировать файлы между кластерами HDFS?

Лучший способ скопировать файлы между кластерами HDFS – использовать несколько узлов и команду distcp, чтобы рабочая нагрузка была общей.

52) Укажите, в чем разница между HDFS и NAS?

Блоки данных HDFS распределяются по локальным дискам всех машин в кластере, а данные NAS хранятся на выделенном оборудовании.

53) Укажите, чем Hadoop отличается от других инструментов обработки данных?

В Hadoop вы можете увеличивать или уменьшать количество картографов, не беспокоясь об объеме обрабатываемых данных.

54) Укажите, какую работу выполняет класс conf?

Класс conf задания разделяет разные задания, работающие в одном кластере. Он выполняет настройки уровня работы, такие как объявление работы в реальной среде.

55) Укажите, что такое контракт API Hadoop MapReduce для класса ключа и значения?

Для класса ключа и значения существует два контракта API Hadoop MapReduce

  • Значение должно определять интерфейс org.apache.hadoop.io.Writable
  • Ключ должен определять интерфейс org.apache.hadoop.io.WritableComparable

56) Укажите, в каких трех режимах может работать Hadoop?

Три режима работы Hadoop:

  • Псевдораспределенный режим
  • Автономный (локальный) режим
  • Полностью распределенный режим

57) Укажите, что делает формат ввода текста?

Формат ввода текста создаст объект строки, представляющий собой шестнадцатеричное число. Значение рассматривается как текст всей строки, а ключ рассматривается как объект строки. Картограф получит значение в виде параметра ‘text’, а ключ в качестве параметра ‘longwriteable’.

58) Укажите, сколько InputSplits сделано Hadoop Framework?

Hadoop сделает 5 сплитов

  • 1 сплит для файлов 64K
  • 2 сплит для 65 МБ файлов
  • 2 сплит для 127 МБ файлов

59) Укажите, что такое распределенный кеш в Hadoop?

Распределенный кеш в Hadoop – это средство, предоставляемое платформой MapReduce. Во время выполнения задания оно используется для кэширования файла. Framework копирует необходимые файлы на подчиненный узел перед выполнением любой задачи на этом узле.

60) Объясните, как Hadoop Classpath играет жизненно важную роль в остановке или запуске демонов Hadoop?

Classpath будет состоять из списка каталогов, содержащих файлы JAR для остановки или запуска демонов.