Экосистема Hadoop

Экосистема Hadoop

#Hadoop


Обзор: Apache Hadoop — это платформа с открытым исходным кодом, предназначенная для облегчения взаимодействия с большими данными. Однако для тех, кто не знаком с этой технологией, возникает вопрос: что такое большие данные? Большие данные — это термин, присваиваемый наборам данных, которые не могут быть эффективно обработаны с помощью традиционной методологии, такой как RDBMS. Hadoop занял свое место в отраслях и компаниях, которым необходимо работать с большими наборами данных, которые являются чувствительными и требуют эффективной обработки. Hadoop — это структура, которая позволяет обрабатывать большие наборы данных, которые находятся в форме кластеров. Будучи основой, Hadoop состоит из нескольких модулей, которые поддерживаются большой экосистемой технологий.


Введение: Hadoop Ecosystem представляет собой платформу или пакет, который предоставляет различные услуги для решения проблем больших данных. Он включает в себя проекты Apache и различные коммерческие инструменты и решения. Существует четыре основных элемента Hadoop: HDFS , MapReduce , YARN и Hadoop Common . Большинство инструментов или решений используются для дополнения или поддержки этих основных элементов. Все эти инструменты работают совместно для предоставления таких услуг, как поглощение, анализ, хранение и обслуживание данных и т. д.

Ниже приведены компоненты, которые в совокупности образуют экосистему Hadoop:

  • HDFS: распределенная файловая система Hadoop
  • YARN: еще один переговорщик по ресурсам
  • MapReduce: обработка данных на основе программирования
  • Spark: обработка данных в памяти
  • PIG, HIVE: обработка данных на основе запросов
  • HBase: база данных NoSQL
  • Mahout, Spark MLLib: библиотеки алгоритмов машинного обучения
  • Solar, Lucene: поиск и индексирование
  • Zookeeper: Управление кластером
  • Узи: Планирование работы

Примечание. Помимо вышеупомянутых компонентов, есть много других компонентов, которые являются частью экосистемы Hadoop.

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

HDFS:

  • HDFS является основным или основным компонентом экосистемы Hadoop и отвечает за хранение больших наборов данных структурированных или неструктурированных данных на различных узлах и, таким образом, поддерживает метаданные в форме файлов журнала.
  • HDFS состоит из двух основных компонентов, т.е.Имя узла
  • Узел данных
  • Узел имени — это основной узел, который содержит метаданные (данные о данных), требующие сравнительно меньшего количества ресурсов, чем узлы данных, в которых хранятся фактические данные. Эти узлы данных являются стандартным оборудованием в распределенной среде. Несомненно, что делает Hadoop экономически эффективным.
  • HDFS поддерживает всю координацию между кластерами и оборудованием, таким образом, работая в самом сердце системы.

ПРЯЖА:

  • Еще одно средство согласования ресурсов, как следует из названия, YARN — это тот, кто помогает управлять ресурсами в кластерах. Короче говоря, он выполняет планирование и распределение ресурсов для системы Hadoop.
  • Состоит из трех основных компонентов, т.е.Менеджер ресурсов
  • Диспетчер узлов
  • Менеджер приложений
  • Диспетчер ресурсов имеет право выделять ресурсы для приложений в системе, в то время как диспетчеры узлов работают над распределением ресурсов, таких как ЦП, память, пропускная способность для каждой машины, и позже подтверждают наличие диспетчера ресурсов. Диспетчер приложений работает как интерфейс между диспетчером ресурсов и диспетчером узлов и выполняет согласования в соответствии с требованием обоих.

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

  • Используя распределенные и параллельные алгоритмы, MapReduce позволяет переносить логику обработки и помогает писать приложения, которые преобразуют большие наборы данных в управляемый.
  • MapReduce использует две функции: Map() и Reduce() , задача которых:Map () выполняет сортировку и фильтрацию данных и тем самым организует их в виде группы. Map генерирует результат на основе пары ключ-значение, который затем обрабатывается методом Reduce ().
  • Reduce () , как следует из названия, выполняет суммирование путем агрегирования сопоставленных данных. Проще говоря, Reduce () принимает вывод, сгенерированный Map (), в качестве входных данных и объединяет эти кортежи в меньший набор кортежей.

PIG:

  • Pig был в основном разработан Yahoo, который работает на латинском языке, который основан на запросах и похож на SQL.
  • Это платформа для структурирования потока данных, обработки и анализа огромных массивов данных.
  • Свинья выполняет работу по выполнению команд, а в фоновом режиме все действия MapReduce выполняются. После обработки свинья сохраняет результат в HDFS.
  • Язык Pig Latin специально разработан для этой среды, которая работает в среде Pig Runtime. Так же, как Java работает на JVM .
  • Свинья помогает достичь простоты программирования и оптимизации и, следовательно, является основным сегментом экосистемы Hadoop.

Улей:

  • С помощью методологии и интерфейса SQL, HIVE выполняет чтение и запись больших наборов данных. Тем не менее, его язык запросов называется HQL (Hive Query Language).
  • Он обладает высокой масштабируемостью, поскольку позволяет одновременно выполнять обработку в реальном времени и пакетную обработку. Кроме того, Hive поддерживает все типы данных SQL, что упрощает обработку запросов.
  • Как и в средах обработки запросов, HIVE также включает два компонента: драйверы JDBC и командную строку HIVE .
  • JDBC вместе с драйверами ODBC работают над установкой разрешений и подключений для хранения данных, тогда как командная строка HIVE помогает в обработке запросов.

Mahout:

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

Apache Spark:

  • Это платформа, которая обрабатывает все важные для процесса задачи, такие как пакетная обработка, интерактивная или итеративная обработка в реальном времени, преобразование графиков, визуализация и т. Д.
  • Следовательно, он потребляет ресурсы памяти, поэтому он быстрее, чем предыдущий, с точки зрения оптимизации.
  • Spark лучше всего подходит для данных в реальном времени, тогда как Hadoop лучше всего подходит для структурированных данных или пакетной обработки, поэтому оба они используются в большинстве компаний взаимозаменяемо.

Apache HBase:

  • Это база данных NoSQL, которая поддерживает все виды данных и, следовательно, способна обрабатывать все, что угодно в базе данных Hadoop. Он обеспечивает возможности BigTable от Google, что позволяет эффективно работать с наборами больших данных.
  • В тех случаях, когда нам нужно искать или извлекать вхождения чего-то небольшого в огромную базу данных, запрос должен обрабатываться в течение короткого быстрого промежутка времени. В такие моменты HBase оказывается полезным, поскольку дает нам приемлемый способ хранения ограниченных данных.

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

  • Solr, Lucene: это две службы, которые выполняют задачу поиска и индексации с помощью некоторых библиотек Java, особенно Lucene основана на Java, которая также позволяет проверять орфографию. Однако Lucene управляет Solr.
  • Zookeeper: Существовала огромная проблема управления координацией и синхронизацией между ресурсами или компонентами Hadoop, что часто приводило к несогласованности. Zookeeper преодолел все проблемы, выполнив синхронизацию, межкомпонентную связь, группировку и обслуживание.
  • Oozie: Oozie просто выполняет задачу планировщика, таким образом планируя задания и связывая их вместе как единое целое. Существует два вида заданий .ie Oozie workflow и Oozie coordinator jobs . Рабочий процесс Oozie — это задания, которые должны выполняться последовательно, в то время как задания Oozie Coordinator — это задания, которые запускаются, когда ему передаются некоторые данные или внешние стимулы.


Report Page