Как использовать внешние данные с Elastic MapReduce

Из Amazon EMR FAQ:

Вопрос: Могу ли я загрузить свои данные из Интернета или из другого места, кроме Amazon S3?

Да. Ваше приложение Hadoop может загружать данные из любого места в Интернете или из других сервисов AWS. Обратите внимание, что при загрузке данных из Интернета взимается плата за пропускную способность EC2. Amazon Elastic MapReduce также предоставляет основанный на Hive доступ к данным в DynamoDB.

Каковы спецификации для загрузки данных из внешних (не S3) источников? Кажется, что вокруг этой опции не хватает ресурсов, и она, похоже, не документирована ни в какой форме.

3 ответа

Если вы хотите сделать это "методом hadoop", вы должны реализовать DFS поверх своего источника данных или поместить ссылки на исходные URL-адреса в некоторый файл, который будет вводиться для задания MR.
В то же время Hadoop о перемещении кода в данные. Даже EMR над S3 не идеален в этом аспекте - EC2 и S3 - разные кластеры. Поэтому трудно представить эффективную обработку МР, если источник данных физически находится за пределами центра обработки данных.

По сути, Amazon говорит, что программно вы можете получить доступ к любому контенту из Интернета или любого другого источника через ваш код. Например, вы можете получить доступ к экземпляру базы данных Couch через любые клиентские API на основе HTTP.

Я знаю, что пакет Cassandra для Java имеет один пакет с исходным кодом с именем org.apache.cassandra.hadoop, и в нем есть два класса, которые необходимы для получения информации от Cassandra, когда вы используете AWS Elastic MapReduce.

Основные классы: ColumnFamilyInputFormat.java а также ConfigHelper.java

Перейдите по этой ссылке, чтобы увидеть пример того, о чем я говорю.

Другие вопросы по тегам