10

我们希望在当前数据库之上使用 Amazon Elastic MapReduce(我们在 EC2 上使用 Cassandra)。查看 Amazon EMR 常见问题,应该可以: Amazon EMR 常见问题: 问:我可以从 Internet 或 Amazon S3 以外的其他地方加载我的数据吗?

但是,在创建新的作业流时,我们只能将 S3 存储桶配置为输入数据源。

关于如何做到这一点的任何想法/示例?

谢谢!

PS:我已经看到了这个问题How to use external data with Elastic MapReduce但答案并没有真正解释如何去做/配置它,只是它是可能的。

4

2 回答 2

1

你是如何处理数据的?EMR 只是托管的 hadoop。您仍然需要编写某种过程。

如果您正在编写 Hadoop Mapreduce 作业,那么您正在编写 java 并且您可以使用 Cassandra api 来访问它。

如果你想使用类似 hive 的东西,你需要编写一个 Hive 存储处理程序来使用 Cassandra 支持的数据。

于 2013-06-24T05:46:22.967 回答
0

尝试使用scp将文件复制到您的 EMR 实例:

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

(或使用ftp,或wget,或curl,或任何你想要的)

然后使用ssh登录您的 EMR 实例并将其加载到hadoop中:

    my-desktop-box$ ssh my-emr-node
    my-emr-node$ hadoop fs -put /path/to/local/file /path/in/hdfs/file
于 2013-03-27T05:53:33.923 回答