Настройка внешнего источника данных для Elastic MapReduce

Мы хотим использовать Amazon Elastic MapReduce поверх нашей текущей БД (мы используем Cassandra на EC2). Рассматривая FAQ Amazon EMR, это должно быть возможно: FAQ Amazon EMR: Q: Могу ли я загрузить мои данные из Интернета или где-то кроме Amazon S3?

Однако при создании нового потока задания мы можем сконфигурировать ведро S3 в качестве источника входных данных.

Любые идеи/примеры того, как это сделать?

Спасибо!

PS: Я видел этот вопрос Как использовать внешние данные с помощью Elastic MapReduce, но ответы на них не совсем объясняют, как это сделать/настроить, просто это возможно.

Ответ 1

Как вы обрабатываете данные? EMR только что управляется хаопом. Вам все равно нужно написать какой-то процесс.

Если вы пишете задание Hadoop Mapreduce, вы пишете java, и вы можете использовать Apis Cassandra для доступа к нему.

Если вы хотите использовать что-то вроде улья, вам нужно будет написать обработчик хранилища Hive для использования данных, поддерживаемых Cassandra.

Ответ 2

Попробуйте использовать scp для копирования файлов в экземпляр EMR:

    my-desktop-box$ scp mylocaldatafile my-emr-node:/path/to/local/file

(или используйте ftp, или wget или curl или что-нибудь еще, что вы хотите)

затем войдите в свой экземпляр EMR с ssh и загрузите его в hadoop:

    my-desktop-box$ ssh my-emr-node
    my-emr-node$ hadoop fs -put /path/to/local/file /path/in/hdfs/file