Опыт работы с Hadoop? - PullRequest
       101

Опыт работы с Hadoop?

9 голосов
/ 20 августа 2008

Кто-нибудь из вас пробовал Hadoop? Может ли он использоваться без распределенной файловой системы, которая идет с ним, в архитектуре без совместного использования? Будет ли это иметь смысл?

Меня также интересуют любые результаты вашей работы ...

Ответы [ 9 ]

8 голосов
/ 22 августа 2008

Да, вы можете использовать Hadoop в локальной файловой системе, используя файловые URI вместо hdfs URI в разных местах. Я думаю, что многие примеры, которые идут с Hadoop, делают это.

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

4 голосов
/ 22 мая 2009

Hadoop MapReduce может работать поверх любого количества файловых систем или даже более абстрактных источников данных, таких как базы данных. На самом деле есть пара встроенных классов для поддержки файловой системы не HDFS, таких как S3 и FTP . Вы также можете легко создать свой собственный формат ввода, расширив базовый класс InputFormat .

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

3 голосов
/ 26 сентября 2008

Лучший способ обернуть голову вокруг Hadoop - это загрузить его и начать изучать примеры включения. Используйте Linux box / VM, и ваша настройка будет намного проще, чем Mac или Windows. Как только вы освоитесь с примерами и концепциями, начните понимать, как ваше проблемное пространство может отображаться в каркас.

Несколько ресурсов, которые могут оказаться полезными для получения дополнительной информации о Hadoop:

Видео и презентации Hadoop Summit

Hadoop: Полное руководство: черновая версия - это одна из немногих (только?) Книг, доступных на Hadoop на данный момент. Я бы сказал, что это стоит того, чтобы загрузить электронную версию даже на этом этапе (книга завершена на ~ 40%).

Hadoop: The Definitive Guide: Rough Cuts Version

3 голосов
/ 12 сентября 2008

Как сказал Джо, вы действительно можете использовать Hadoop без HDFS. Однако пропускная способность зависит от способности кластера выполнять вычисления вблизи места хранения данных. Использование HDFS имеет 2 основных преимущества. IMHO: 1) вычисления распределены более равномерно по кластеру (уменьшая объем межузловой связи) и 2) кластер в целом более устойчив к сбоям из-за недоступности данных.

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

0 голосов
/ 11 мая 2015

Большие теоретические ответы выше.

Чтобы изменить файловую систему hadoop на локальную, вы можете изменить ее в файле конфигурации "core-site.xml", как показано ниже для версий hadoop 2.x.x.

 <property>
    <name>fs.defaultFS</name>
    <value>file:///</value>
  </property>

для версий hadoop 1.x.x.

 <property>
    <name>fs.default.name</name>
    <value>file:///</value>
  </property>
0 голосов
/ 28 декабря 2014

Да. Вы можете использовать локальную файловую систему, используя file: // при указании входного файла и т. Д., И это будет работать также с небольшими наборами данных. Но фактическая мощность hadoop основана на распределенном и разделяющем механизме. Но Hadoop используется для обработки огромного количества данных. Этот объем данных не может быть обработан на одном локальном компьютере, или даже если это произойдет, потребуется много времени, чтобы завершить работу. Поскольку ваш входной файл находится в общей папке (HDFS) ) несколько картографов могут читать его одновременно и сокращают время на завершение работы. В двух словах Вы можете использовать его с локальной файловой системой, но для удовлетворения бизнес-требований вы должны использовать его с общей файловой системой.

0 голосов
/ 05 декабря 2012

Если вы только что промокли, начните с загрузки CDH4 и запуска его. Вы можете легко установить на локальную виртуальную машину и запустить ее в «псевдораспределенном режиме», что близко имитирует ее работу в реальном кластере.

0 голосов
/ 20 июля 2012

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

0 голосов
/ 19 июня 2012

Параллельные / распределенные вычисления = СКОРОСТЬ << Hadoop делает это действительно очень простым и дешевым, так как вы можете просто использовать несколько обычных машин !!! </p>

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

Hadoop - это умный вариант подхода «разделяй и властвуй» к решению проблем. По сути, вы разбиваете проблему на более мелкие порции и назначаете порции нескольким различным компьютерам для параллельной обработки , ускоряя процесс вместо перегрузки одной машины. Каждая машина обрабатывает свое собственное подмножество данных, и в итоге результат объединяется. Hadoop на одном узле не даст вам скорости, которая имеет значение.

Чтобы увидеть преимущества Hadoop, у вас должен быть кластер, содержащий не менее 4-8 обычных компьютеров (в зависимости от размера ваших данных) в одной стойке.

Вам больше не нужно быть супер-гениальным инженером параллельных систем, чтобы использовать преимущества распределенных вычислений. Просто знай, Хэдуп, с Ульем, и тебе пора.

...