Как использовать HDFS с EMR?

Я считаю, что подключение EMR к Amazon S3 крайне ненадежно из-за зависимости от скорости сети.

Я могу найти только ссылки для описания местоположения S3. Я хочу использовать EMR с HDFS — как мне это сделать?


person user3237842    schedule 12.03.2014    source источник


Ответы (1)


Вы можете просто использовать входные и выходные пути hdfs, такие как hdfs:///input/.

Скажем, у вас есть задание, добавленное в кластер следующим образом:

ruby elastic-mapreduce -j $jobflow --jar s3:/my-jar-location/myjar.jar --arg s3:/input --arg s3:/output

вместо этого вы можете получить его следующим образом, если вам нужно, чтобы он был на hdfs:

ruby elastic-mapreduce -j $jobflow --jar s3:/my-jar-location/myjar.jar --arg hdfs:///input --arg hdfs:/// вывод

Чтобы взаимодействовать с HDFS в кластере EMR, подключитесь по ssh к главному узлу и выполните общие команды HDFS. Например, чтобы увидеть выходной файл, вы можете сделать следующее:

hadoop fs -get hdfs://output/part-r-0000 /home/ec2-user/firstPartOutputFile

Но если вы работаете с временными кластерами, использование встроенной HDFS не рекомендуется, так как вы потеряете данные при завершении работы кластера.

Также у меня есть тесты, которые доказывают, что использование S3 или HDFS не дает большой разницы в производительности. Для рабочей нагрузки ~200 ГБ: - Задание было завершено за 22 секунды с S3 в качестве источника ввода - Задание было завершено за 20 секунд с HDFS в качестве источника ввода

EMR супероптимизирован для чтения/записи данных из/в S3.

Для вывода промежуточных шагов лучше всего писать в hdfs. Итак, скажем, если у вас есть 3 шага в вашем конвейере, то у вас может быть ввод/вывод следующим образом:

  • Шаг 1. Ввод из S3, вывод в HDFS
  • Шаг 2: ввод из HDFS, вывод в HDFS
  • Шаг 3. Ввод из HDFS, вывод в S3
person Amar    schedule 19.03.2014
comment
После каждого раунда я получаю много выходных файлов, как я могу объединить их в 1 файл, прежде чем перейти к следующему шагу? Кроме того, как я могу изменить размер блока S3/HDFS с помощью amazon emr? Я использую консоль, должен ли я перейти на amazon cli? - person member555; 24.08.2015