2015-02-20 1 views
1

Я хочу запустить задание EMR Pig, которое в настоящий момент логически разделено на два сценария (и, следовательно, два шага), однако некоторые из файлов данных являются общими между этими двумя сценариями, мой вопрос заключается в том, что Pig распознает это при запуске второй этап (второй скрипт) и повторное использование файлов, считанных с S3, или он очистит все и сделает это с нуля?EMR и Pig работают два шага, будут ли распространены общие файлы из S3 для повторного использования?

ответ

0

Вы можете использовать s3distcp для загрузки файлов в формате HDFA по EMR. используйте файлы из HDFS для обоих скриптов свиньи. Так что файлы не будут загружаться каждый раз.

1

Если ваш EMR-кластер считывает входные данные с S3, он вообще не копирует данные в HDFS.

Amazon EMR не копирует данные на локальный диск; вместо этого картостроители открытых многопоточные HTTP подключения к Amazon S3, извлекать данные и процесс их в потоках

Однако, это не «кэширование» эти потоки для нескольких проходов:

Для итеративного обработки данных, где данные нуждаются в обработке несколько раз с несколькими проходами, это не эффективная архитектура . Это связано с тем, что данные извлекаются из Amazon S3 по сети сети несколько раз.

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

Код: AWS EMR Best Practices Guide