30+ вопросов и ответов для интервью с Hadoop
Опубликовано: 2022-12-01Что ж, статистика Forbes утверждает, что до 90% мировых организаций используют аналитику больших данных для создания своих инвестиционных отчетов.
С ростом популярности больших данных количество вакансий в Hadoop растет больше, чем раньше.
Поэтому, чтобы помочь вам получить эту роль эксперта Hadoop, вы можете использовать эти вопросы и ответы для интервью, которые мы собрали для вас в этой статье, чтобы помочь вам пройти собеседование.
Возможно, знание таких фактов, как диапазон зарплат, которые делают роли Hadoop и Big Data прибыльными, побудит вас пройти это собеседование, верно?
- По данным Indeed.com, средний заработок разработчика больших данных Hadoop в США составляет 144 000 долларов.
- По данным itjobswatch.co.uk, средняя зарплата разработчика Big Data Hadoop составляет 66 750 фунтов стерлингов.
- В Индии источник на сайте Indeed.com утверждает, что их средняя зарплата составляет 16 000 000 фунтов стерлингов.
Выгодно, вам не кажется? Теперь давайте приступим к изучению Hadoop.
Что такое Хадуп?
Hadoop — это популярная платформа, написанная на Java, которая использует модели программирования для обработки, хранения и анализа больших наборов данных.
По умолчанию его конструкция позволяет выполнять масштабирование от отдельных серверов до нескольких машин, которые предлагают локальные вычисления и хранилище. Кроме того, его способность обнаруживать и обрабатывать сбои на уровне приложений, приводящие к высокой доступности служб, делает Hadoop достаточно надежным.
Давайте сразу перейдем к часто задаваемым вопросам интервью с Hadoop и их правильным ответам.
Вопросы и ответы из интервью Hadoop

Что такое единица хранения в Hadoop?
Ответ . Единица хранения Hadoop называется распределенной файловой системой Hadoop (HDFS).
Чем сетевое хранилище отличается от распределенной файловой системы Hadoop?
Ответ : HDFS, которая является основным хранилищем Hadoop, представляет собой распределенную файловую систему, в которой хранятся большие файлы с использованием общедоступного оборудования. С другой стороны, NAS — это компьютерный сервер хранения данных файлового уровня, предоставляющий разнородным группам клиентов доступ к данным.
В то время как хранение данных в NAS осуществляется на выделенном оборудовании, HDFS распределяет блоки данных по всем машинам в кластере Hadoop.
NAS использует устройства хранения высокого класса, что довольно дорого, в то время как стандартное оборудование, используемое в HDFS, экономически выгодно.
NAS отдельно хранит данные вычислений, что делает его непригодным для MapReduce. Напротив, дизайн HDFS позволяет ему работать с инфраструктурой MapReduce. Вычисления перемещаются в данные в среде MapReduce, а не данные в вычисления.
Объясните MapReduce в Hadoop и перетасовке
Ответ . MapReduce относится к двум различным задачам, выполняемым программами Hadoop для обеспечения высокой масштабируемости между сотнями и тысячами серверов в кластере Hadoop. С другой стороны, перетасовка передает выходные данные карты из картографов в необходимый редюсер в MapReduce.
Загляните в архитектуру Apache Pig

Ответ : В архитектуре Apache Pig есть интерпретатор Pig Latin, который обрабатывает и анализирует большие наборы данных с использованием сценариев Pig Latin.
Apache pig также состоит из наборов наборов данных, с которыми выполняются такие операции с данными, как объединение, загрузка, фильтрация, сортировка и группировка.
Язык Pig Latin использует механизмы выполнения, такие как оболочки Grant, UDF и встроенные для написания сценариев Pig, которые выполняют необходимые задачи.
Pig упрощает работу программистов, преобразовывая эти письменные сценарии в серии заданий Map-Reduce.
Компоненты архитектуры Apache Pig включают в себя:
- Parser — обрабатывает скрипты Pig, проверяя синтаксис скрипта и выполняя проверку типов. Выход парсера представляет собой операторы и логические операторы Pig Latin и называется DAG (ориентированный ациклический граф).
- Оптимизатор — оптимизатор реализует логическую оптимизацию, такую как проекция и сжатие в DAG.
- Компилятор — компилирует оптимизированный логический план из оптимизатора в серию заданий MapReduce.
- Execution Engine — здесь происходит окончательное выполнение заданий MapReduce до желаемого результата.
- Режим выполнения. Режимы выполнения в Apache pig в основном включают локальный и Map Reduce.
Перечислите разницу между локальным хранилищем метаданных и удаленным хранилищем метаданных
Ответ . Служба Metastore в Local Metastore работает на той же JVM, что и Hive, но подключается к базе данных, работающей в отдельном процессе на том же или удаленном компьютере. С другой стороны, Metastore в Remote Metastore работает на своей JVM отдельно от JVM службы Hive.
Каковы пять V больших данных?
Ответ : Эти пять букв обозначают основные характеристики больших данных. Они включают:
- Ценность : Большие данные стремятся обеспечить значительные преимущества от высокой рентабельности инвестиций (ROI) для организации, которая использует большие данные в своих операциях с данными. Большие данные приносят эту пользу благодаря обнаружению идей и распознаванию закономерностей, что, помимо прочих преимуществ, приводит к укреплению отношений с клиентами и повышению эффективности операций.
- Разнообразие : это представляет собой неоднородность типа собираемых типов данных. Различные форматы включают CSV, видео, аудио и т. д.
- Объем : определяет значительный объем и размер данных, управляемых и анализируемых организацией. Эти данные отражают экспоненциальный рост.
- Скорость : это экспоненциальная скорость роста данных.
- Правдивость : достоверность относится к тому, насколько «неточные» или «неточные» доступные данные связаны с их неполнотой или непоследовательностью.
Объясните различные типы данных Pig Latin.
Ответ : Типы данных в Pig Latin включают в себя атомарные типы данных и сложные типы данных.
Атомарные типы данных — это основные типы данных, используемые во всех остальных языках. Они включают следующее:
- Int — этот тип данных определяет 32-разрядное целое число со знаком. Пример: 13
- Long — Long определяет 64-битное целое число. Пример: 10 л
- Float — определяет 32-битное число с плавающей запятой со знаком. Пример: 2,5F
- Двойной — определяет 64-битное число с плавающей запятой со знаком. Пример: 23,4
- Boolean — определяет логическое значение. Включает в себя: Верно/Неверно
- Datetime — определяет значение даты и времени. Пример: 1980-01-01T00:00.00.000+00:00
К сложным типам данных относятся:
- Map-Map относится к набору пар ключ-значение. Пример: ['цвет'#'желтый', 'номер'#3]
- Сумка — это набор наборов кортежей, в котором используется символ «{}». Пример: {(Генри, 32), (Кити, 47)}
- Кортеж — кортеж определяет упорядоченный набор полей. Пример : (Возраст, 33 года)
Что такое Apache Oozie и Apache ZooKeeper?
Ответ : Apache Oozie — это планировщик Hadoop, отвечающий за планирование и связывание заданий Hadoop вместе как единую логическую работу.
Apache Zookeeper, с другой стороны, координирует свои действия с различными службами в распределенной среде. Это экономит время разработчиков, просто предоставляя простые услуги, такие как синхронизация, группировка, обслуживание конфигурации и присвоение имен. Apache Zookeeper также предоставляет готовую поддержку организации очередей и выбора лидера.
Какова роль Combiner, RecordReader и Partitioner в операции MapReduce?
Ответ : Комбайнер действует как мини-редуктор. Он получает и обрабатывает данные из задач карты, а затем передает выходные данные на фазу редуктора.
RecordHeader взаимодействует с InputSplit и преобразует данные в пары ключ-значение, чтобы модуль сопоставления мог их правильно прочитать.
Разделитель отвечает за определение количества сокращенных задач, необходимых для суммирования данных, и подтверждение того, как выходные данные объединителя отправляются в редуктор. Partitioner также управляет ключевым разделением выходных данных промежуточной карты.
Упомяните различные дистрибутивы Hadoop для конкретных поставщиков.
Ответ . Различные поставщики, расширяющие возможности Hadoop, включают:
- Открытая платформа IBM.
- Распространение Cloudera CDH Hadoop
- Распространение MapR Hadoop
- Amazon Elastic MapReduce
- Платформа данных Hortonworks (HDP)
- Pivotal Big Data Suite
- Аналитика предприятия Datastax
- Microsoft Azure HDInsight — облачный дистрибутив Hadoop.
Почему HDFS отказоустойчива?
Ответ : HDFS реплицирует данные на разных узлах данных, что делает ее отказоустойчивой. Хранение данных в разных узлах позволяет извлекать их из других узлов при сбое одного режима.
Различия между федерацией и высокой доступностью.
Ответ . Федерация HDFS обеспечивает отказоустойчивость, которая обеспечивает непрерывный поток данных в одном узле при сбое другого. С другой стороны, для обеспечения высокой доступности потребуются два отдельных компьютера, настроив активный NameNode и вторичный NameNode на первом и втором компьютерах по отдельности.

Федерация может иметь неограниченное количество несвязанных NameNodes, в то время как в режиме высокой доступности доступны только два связанных NameNode, активный и резервный, которые работают непрерывно.
Узлы имен в федерации совместно используют пул метаданных, при этом каждый узел имен имеет свой выделенный пул. Однако в High Availability активные NameNodes запускаются каждый по одному, в то время как резервные NameNodes остаются бездействующими и только изредка обновляют свои метаданные.
Как узнать статус блоков и работоспособность файловой системы?
Ответ : Вы используете команду hdfs fsck /
как на уровне пользователя root, так и в отдельном каталоге, чтобы проверить состояние работоспособности файловой системы HDFS.
Используемая команда HDFS fsck:
hdfs fsck / -files --blocks –locations> dfs-fsck.log
Описание команды:
- -files: Распечатать файлы, которые вы проверяете.
- –locations: печатает местоположения всех блоков при проверке.
Команда для проверки состояния блоков:
hdfs fsck <path> -files -blocks
- <путь>: Начинает проверку с указанного здесь пути.
- - блоки: печатает блоки файлов во время проверки
Когда вы используете команды rmadmin-refreshNodes и dfsadmin-refreshNodes?
Ответ : Эти две команды полезны для обновления информации об узле либо во время ввода в эксплуатацию, либо после завершения ввода узла в эксплуатацию.
Команда dfsadmin-refreshNodes
запускает клиент HDFS и обновляет конфигурацию узла NameNode. Команда rmadmin-refreshNodes
, с другой стороны, выполняет административные задачи ResourceManager.
Что такое КПП?
Ответ : Контрольная точка — это операция, которая объединяет последние изменения файловой системы с самым последним FSImage, чтобы файлы журнала редактирования оставались достаточно маленькими, чтобы ускорить процесс запуска NameNode. Контрольная точка возникает во вторичном узле имен.
Почему мы используем HDFS для приложений с большими наборами данных?
Ответ : HDFS предоставляет архитектуру DataNode и NameNode, которая реализует распределенную файловую систему.
Эти две архитектуры обеспечивают высокопроизводительный доступ к данным через хорошо масштабируемые кластеры Hadoop. Его NameNode хранит метаданные файловой системы в оперативной памяти, в результате чего объем памяти ограничивает количество файлов файловой системы HDFS.
Что делает команда jps?
Ответ . Команда состояния процесса виртуальной машины Java (JPS) проверяет, запущены ли определенные демоны Hadoop, включая NodeManager, DataNode, NameNode и ResourceManager. Эта команда требуется для запуска от корня, чтобы проверить рабочие узлы в Хосте.
Что такое «спекулятивное выполнение» в Hadoop?
Ответ : это процесс, при котором главный узел в Hadoop вместо исправления обнаруженных медленных задач запускает другой экземпляр той же задачи в качестве задачи резервного копирования (спекулятивной задачи) на другом узле. Спекулятивное выполнение экономит много времени, особенно в условиях интенсивной рабочей нагрузки.
Назовите три режима, в которых может работать Hadoop.
Ответ . Три основных узла, на которых работает Hadoop, включают:
- Автономный узел — это режим по умолчанию, в котором службы Hadoop запускаются с использованием локальной файловой системы и одного процесса Java.
- Псевдораспределенный узел выполняет все службы Hadoop, используя одно развертывание Hadoop.
- Полностью распределенный узел запускает главные и подчиненные службы Hadoop, используя отдельные узлы.
Что такое УДФ?
Ответ : UDF (определяемые пользователем функции) позволяет вам кодировать свои пользовательские функции, которые вы можете использовать для обработки значений столбца во время запроса Impala.
Что такое дистсп?
Ответ : Короче говоря, DistCp или Distributed Copy — полезный инструмент для большого межкластерного или внутрикластерного копирования данных. Используя MapReduce, DistCp эффективно реализует распределенную копию большого объема данных, помимо других задач, таких как обработка ошибок, восстановление и создание отчетов.
Объясните метахранилище в Hive.
Ответ . Хранилище метаданных Hive — это служба, которая хранит метаданные Apache Hive для таблиц Hive в реляционной базе данных, такой как MySQL. Он предоставляет API-интерфейс службы хранилища метаданных, который позволяет получить доступ к метаданным.
Дайте определение РДД.
Ответ : RDD, что означает Resilient Distributed Datasets, представляет собой структуру данных Spark и неизменяемую распределенную коллекцию ваших элементов данных, которая вычисляется на разных узлах кластера.
Как можно включить нативные библиотеки в задания YARN?
Ответ : Вы можете реализовать это, используя -Djava.library. path
-Djava.library. path
в команде или установив LD+LIBRARY_PATH
в файле .bashrc, используя следующий формат:
<property> <name>mapreduce.map.env</name> <value>LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/my/libs</value> </property>
Объясните «WAL» в HBase.
Ответ : Журнал упреждающей записи (WAL) — это протокол восстановления, который записывает изменения данных MemStore в HBase в файловое хранилище. WAL восстанавливает эти данные в случае сбоя RegionalServer или перед очисткой MemStore.
Является ли YARN заменой Hadoop MapReduce?
Ответ : Нет, YARN не является заменой Hadoop MapReduce. Вместо этого MapReduce поддерживает мощная технология Hadoop 2.0 или MapReduce 2.
В чем разница между ORDER BY и SORT BY в HIVE?
Ответ . Хотя обе команды извлекают данные в Hive отсортированным образом, результаты использования SORT BY
могут быть упорядочены только частично.
Кроме того, SORT BY
требует редуктора для упорядочения строк. Этих редукторов, необходимых для конечного вывода, также может быть несколько. В этом случае конечный результат может быть частично упорядочен.
С другой стороны, ORDER BY
требует только одного редуктора для общего порядка вывода. Вы также можете использовать ключевое слово LIMIT
, которое сокращает общее время сортировки.
В чем разница между Spark и Hadoop?
Ответ . Хотя и Hadoop, и Spark являются платформами распределенной обработки, их ключевое отличие заключается в обработке. Если Hadoop эффективен для пакетной обработки, то Spark эффективен для обработки данных в реальном времени.
Кроме того, Hadoop в основном читает и записывает файлы в HDFS, тогда как Spark использует концепцию Resilient Distributed Dataset для обработки данных в оперативной памяти.
В зависимости от их задержки Hadoop представляет собой вычислительную среду с высокой задержкой без интерактивного режима для обработки данных, а Spark — вычислительную среду с малой задержкой, которая обрабатывает данные в интерактивном режиме.
Сравните Sqoop и Flume.
Ответ : Sqoop и Flume — это инструменты Hadoop, которые собирают данные, собранные из различных источников, и загружают их в HDFS.
- Sqoop (SQL-to-Hadoop) извлекает структурированные данные из баз данных, включая Teradata, MySQL, Oracle и т. д., а Flume полезен для извлечения неструктурированных данных из источников базы данных и загрузки их в HDFS.
- Что касается управляемых событий, Flume управляется событиями, а Sqoop не управляется событиями.
- Sqoop использует архитектуру на основе соединителей, в которой соединители знают, как подключаться к другому источнику данных. Flume использует архитектуру на основе агентов, при этом написанный код является агентом, отвечающим за выборку данных.
- Из-за распределенного характера Flume может легко собирать и объединять данные. Sqoop полезен для параллельной передачи данных, в результате чего на выходе получается несколько файлов.
Объясните файл BloomMapFile.
Ответ : BloomMapFile — это класс, расширяющий класс MapFile и использующий динамические фильтры Блума, обеспечивающие быструю проверку принадлежности ключей.
Перечислите разницу между HiveQL и PigLatin.
Ответ : В то время как HiveQL — это декларативный язык, похожий на SQL, PigLatin — это высокоуровневый процедурный язык потока данных.
Что такое очистка данных?
Ответ . Очистка данных — это важный процесс устранения или исправления обнаруженных ошибок данных, которые включают в себя неверные, неполные, поврежденные, дублированные и неправильно отформатированные данные в наборе данных.
Этот процесс направлен на повышение качества данных и предоставление более точной, последовательной и надежной информации, необходимой для эффективного принятия решений в организации.
Вывод
В связи с текущим ростом числа вакансий, связанных с большими данными и Hadoop, вы можете повысить свои шансы на получение работы. Вопросы и ответы на собеседовании с Hadoop в этой статье помогут вам пройти предстоящее собеседование.
Далее вы можете воспользоваться хорошими ресурсами для изучения больших данных и Hadoop.
Удачи!