Что такое "Hadoop" - определение Hadoop?
Это отчасти очевидно, и мы все согласимся, что мы можем назвать HDFS + YARN + MapReduce как Hadoop. Но что происходит с различными другими комбинациями и другими продуктами в экосистемеHadoop ?
Является ли, например, HDFS + YARN + Spark все еще Hadoop ? Есть HBASE Хадуп? я думаю, мы рассмотрим HDFS + YARN + Pig Hadoop , так какPig использует MapReduce.
Являются только инструментыMapReduce , рассматриваемые Hadoop , но все остальное работает на HDFS + YARN (например Spark ) - это non Hadoop ?
4 ответов:
Я согласен с вашим мнением, что термин"Hadoop" не имеет полезного определения. "у нас есть кластер Hadoop" может означать разные вещи.
Есть официальный ответ, хотя в http://hadoop.apache.org/#What+Is+Apache+Hadoop%3F :
Проект Apache™ Hadoop® разрабатывает программное обеспечение с открытым исходным кодом для надежные, масштабируемые, распределенные вычисления.
Библиотека программного обеспечения Apache Hadoop-это фреймворк, который позволяет распределенная обработка больших массивов данных между кластерами компьютеров использование простых моделей программирования.
Итак, "Hadoop" - это название проекта и библиотеки программного обеспечения. Любое другое использование плохо определено.
В дополнение к определению Apache hadoop из официального сайта , я хотел бы подчеркнуть, что Hadoop-это фреймворк и в экосистеме Hadoop
Цитирование этого контента с официального сайта таким образом, чтобы неработающие ссылки в будущем не вызывали никаких вопросов к этому ответу.
Проект включает в себя следующие модули:
Hadoop Common:общие утилиты, поддерживающие другой Hadoop модули.
Hadoop Distributed File System (HDFS™):распределенная файловая система, обеспечивающая высокую пропускную способность доступа к данным приложений.
Hadoop YARN:структура для планирования заданий и управления ресурсами кластера.
Hadoop MapReduce:Система на основе нитей для параллельной обработки больших массивов данных.Более или менее,
Hadoop = распределенное хранилище (HDFS) + распределенная обработка (YARN + Map Reduce)
Но эти четыре модуля не охватывают полный Hadoop Экосистема. Существует много проектов, связанных с Hadoop, и более 40 подсистем в экосистемах Hadoop.
Другие проекты, связанные с Hadoop в Apache включают:
Ambari™:веб-инструмент для подготовки, управления и мониторинга кластеров Apache Hadoop, который включает поддержку Hadoop HDFS, Hadoop MapReduce, Hive, HCatalog, HBase, ZooKeeper, Oozie, Pig и Sqoop.
Avro™: система сериализации данных.
Cassandra™:масштабируемая база данных с несколькими мастерами без единой точки доступа. неудача.
Chukwa™:система сбора данных для управления большими распределенными системами.
HBase™:масштабируемая распределенная база данных, поддерживающая структурированное хранение данных для больших таблиц.
Hive™:инфраструктура хранилища данных, обеспечивающая обобщение данных и выполнение специальных запросов.
Mahout™:масштабируемая библиотека машинного обучения и интеллектуального анализа данных.
Pig™:высокоуровневый язык потоков данных и платформа выполнения для параллельных вычислений вычисление.
Spark™:быстрый и общий вычислительный движок для данных Hadoop. Spark предоставляет простую и выразительную модель программирования, которая поддерживает широкий спектр приложений, включая ETL, машинное обучение, потоковую обработку и графовые вычисления.
Tez™:обобщенная структура программирования потоков данных, построенная на Hadoop YARN, которая обеспечивает мощный и гибкий механизм для выполнения произвольного набора задач для обработки данных как для пакетного, так и для интерактивного использования. Тез есть будучи принятыми Hive™, Pig™ и другими фреймворками в экосистеме Hadoop, а также другим коммерческим программным обеспечением (например, ETL-инструментами), чтобы заменить Hadoop™ MapReduce в качестве базового механизма выполнения.
ZooKeeper™:высокопроизводительная служба координации для распределенных приложений.возвращаясь к вашему вопросу:
Просто взгляните на 40 + подсистем в системе Hadoop eco. Все, что вы процитировали, может быть не Hadoop, но большинство из них связано с платформа Hadoop.
Spark является частью экосистемы Hadoop. Но он не может использовать ни HDFS , ни YARN. Наборы данных HDFS могут быть заменены на RDD (resilient distributed dataset) и могут работать в автономном режиме без YARN.
Посмотрите на эту статью и эту статью Для сравнения Hadoop & Spark.
Примеры использования Spark над Hadoop:
- итерационные алгоритмы в машине Обучение
- интерактивный интеллектуальный анализ и обработка данных
- потоковая обработка
- обработка сенсорных данных
поскольку Spark не имеет системы хранения, она должна зависеть от одного из распределенных хранилищ, где HDFS является одним из них.
Взгляните на соответствующий вопрос SE:
Наиболее общепринятое понимание Hadoop: HDFS и Map / Reduce и связанных с ними процессов и инструментов.
Родственный термин: экосистема Hadoop: Hive / Pig/Hbase, Zookeeper, Oozie. Кроме того, конкретные поставщики, такие как impala, ambari.
Зачем нам нужна система больших данных?
- хранилище (для хранения большого объема данных)
- PROCESS (своевременно обрабатывать данные / запросы)
- масштаб (масштабирование легко по мере роста данных)
Было решение для больших данных, предоставленное google.
Файловая система Google: решение проблемы распределенного хранения.
- Map Reduce: для решения задач распределенных вычислений.
Google опубликовал исследовательские работы. Apache разработал систему с открытым исходным кодом, аналогичную разработанной Google, она известна какHADOOP .
- аналогичной файловой системе Google в hadoop являетсяHDFS (Hadoop Distributed File System): файловая система для управления хранением данных.
- MAP Reduce : Платформа для обработки данных на нескольких серверах.
Примечание: В 2013 году Apache выпустила HADOOP 2.0 (MapReduce был разбит на две составляющие:
- MapReduce: фреймворк для определения данных задача обработки.
- YARN: фреймворк для выполнения задачи обработки данных. )
ЭКОСИСТЕМА HADOOP
Hadoop было нелегко понять, и он был ограничен разработчиком жесткого ядра. таким образом, чтобы сделать использование hadoop проще. Появилось множество инструментов,которые в целом известны как экосистема Hadoop.Экосистема Hadoop содержит такие инструменты, как:
- улей :
- предоставляет интерфейс SQL для hadoop.
- мост в хадуп для люди, которые не имеют не имеют воздействия на OOPs в Яве.
- HBASE :
- система управления базами данных на базе hadoop.
- интегрируется с нашим приложением так же, как традиционная база данных.
Свинья :
- язык манипулирования данными.
- преобразует неструктурированные данные в структурированный формат.
- запрос структурированных данных с помощью интерфейсов, как улей.
Искра :
- распределенный вычислительный движок, используемый вместе с Hadoop.
Интерактивная оболочка для быстрой обработки наборов данных.- имеет кучу встроенных библиотек для обработки потоков машинного обучения, обработки графов и т. д.
ООЗИ :
Инструмент для планирования рабочих процессов на всех технологиях экосистемы hadoop.
FLUME / SQOOP :
- инструменты для передачи данных между другими системами и платформа Hadoop.
на этом завершается очень высокий уровень обзора Hadoop.
Comments