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

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

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

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

Спасибо!

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

2 ответа

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

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

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

Попробуйте использовать 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
Другие вопросы по тегам