Введение в инструменты Hadoop

Инструменты Hadoop - это фреймворк, который используется для обработки большого количества данных. Эти данные распределяются по кластеру, и распределенные вычисления выполняются. Данные хранятся в блоках размером 128 Мб, и для обработки и достижения результата используется мощность Map Reduce. Традиционно Map и Reduce были написаны на Java, но было трудно скрестить навыки с ресурсами, работающими в хранилище данных, поскольку они не имели опыта в этом. SQL хорошо известен и прост в использовании, поэтому, найдя способ написать SQL-запрос, который преобразуется в Map и Reduce, он был основан Facebook, а позже передан Apache, этот инструмент известен как Hive. Yahoo также придумала инструмент под названием Pig, который при исполнении преобразуется в Map Reduce, аналогично, у нас есть Sqoop и flume для инструментов перемещения и ввода данных. HBase - это инструмент системы управления базами данных.

Особенности инструментов Hadoop

  1. улей
  2. свинья
  3. Sqoop
  4. HBase
  5. Работник зоопарка
  6. акведук

Теперь мы увидим особенности с кратким объяснением.

1. Улей

Apache Hive был основан Facebook, а затем передан Apache Foundation, который представляет собой инфраструктуру хранилища данных и облегчает написание SQL, такого как Query, под названием HQL или HiveQL. Эти запросы внутренне преобразуются в задания Map Reduce, а обработка выполняется с использованием распределенных вычислений Hadoop. Он может обрабатывать данные, которые находятся в HDFS, S3 и во всех хранилищах, совместимых с Hadoop. Мы можем использовать возможности, предоставляемые Map Reduce, всякий раз, когда мы находим что-то сложное для реализации в Hive, реализуя пользовательские функции. Это позволяет пользователю регистрировать UDF и использовать его в заданиях.

Особенности Улья

  • Hive может обрабатывать многие типы форматов файлов, такие как Sequence File, ORC File, TextFile и т. Д.
  • Разделение, группирование и индексация доступны для более быстрого выполнения.
  • Сжатые данные также могут быть загружены в таблицу кустов.
  • Управляемые или внутренние таблицы и внешние таблицы являются характерными особенностями Hive.

2. Свинья

Yahoo разработала Apache Pig, чтобы иметь дополнительный инструмент для усиления Hadoop, предлагая специальный способ реализации Map Reduce. У Pig есть движок под названием Pig Engine, который конвертирует скрипты в Map Reduce. Pig - это язык сценариев, сценарии, написанные для Pig, написаны на PigLatin, точно так же, как здесь Hive, и у нас могут быть UDF для улучшения функциональности. Задачи в Pig оптимизируются автоматически, поэтому программистам не нужно беспокоиться об этом. Свинья Обрабатывает как структурированные, так и неструктурированные данные.

Особенности Свиньи

  • Пользователи могут иметь свои собственные функции для выполнения специального типа обработки данных.
  • В Pig писать коды сравнительно легко, а длина кода меньше.
  • Система может автоматически оптимизировать выполнение.

3. Sqoop

Sqoop используется для передачи данных из HDFS в RDBMS и наоборот. Мы можем получить данные в HDFS из RDBMS, Hive и т. Д., А также обработать и экспортировать их обратно в RDBMS. Мы можем добавлять данные много раз в таблицу, а также мы можем создать задание Sqoop и выполнить его n раз.

Особенности Sqoop

  • Sqoop может импортировать все таблицы одновременно в HDFS.
  • Мы можем встраивать SQL-запросы, а также условия импорта данных.
  • Мы можем импортировать данные в куст, если таблица присутствует из HDFS.
  • Количество картографов может контролироваться, т.е. параллельное выполнение может контролироваться путем указания количества картографов.

4. HBase

Система управления базами данных поверх HDFS называется HBase. HBase - это база данных NoSQL, разработанная поверх HDFS. HBase не является реляционной базой данных, она не поддерживает языки структурированных запросов. HBase использует распределенную обработку HDFS. Он может иметь большие таблицы с миллионами и миллионами записей.

Особенности HBase

  • HBase обеспечивает масштабируемость как линейную, так и модульную.
  • API в JAVA могут быть использованы для доступа клиентов.
  • HBase предоставляет оболочку для выполнения запросов.

5. Зоопарк

Apache Zookeeper - это сервис централизованного обслуживания конфигурации, он ведет учет информации, имен, а также предоставляет распределенную синхронизацию и групповые сервисы. Zookeeper - это централизованный репозиторий, который используется распределенными приложениями для размещения и получения данных о нем. Это также помогает в управлении узлами, т. Е. Присоединении или выходе из узла в кластере. Он обеспечивает очень надежный реестр данных, когда несколько узлов не работают.

Особенности Zookeeper

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

6. Flume

Apache Flume - это инструмент, который обеспечивает прием данных, который может собирать, объединять и передавать огромное количество данных из разных источников в HDFS, HBase и т. Д. Flume очень надежен и может быть настроен. Он был разработан для загрузки потоковых данных с веб-сервера или данных о событиях в HDFS, например, он может принимать данные из Twitter в HDFS. Flume может хранить данные в любом из централизованных хранилищ данных, таких как HBase / HDFS. Если существует ситуация, когда скорость создания данных выше, чем скорость записи данных, то Flume выступает в качестве посредника и обеспечивает стабильный поток данных.

Особенности Flume

  • Он может принимать данные веб-серверов вместе с данными о событиях, такими как данные из социальных сетей.
  • Транзакции Flume основаны на каналах, т.е. поддерживаются два сообщения, одно для отправки и одно для приема.
  • Горизонтальное масштабирование возможно в трубе.
  • Он очень терпим к ошибкам, поскольку контекстная маршрутизация присутствует в канале.

Заключение - Hadoop Tools

Здесь, в этой статье, мы узнали о некоторых инструментах Hadoop и о том, как они полезны в мире данных. Мы видели Hive и Pig, которые используются для запроса и анализа данных, sqoop для перемещения данных и потока для приема потоковых данных в HDFS.

Рекомендуемые статьи

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

  1. Hadoop Альтернативы
  2. База данных Hadoop
  3. Строковые функции SQL
  4. Что такое большие данные