我即将启动一个将在AWS上运行的mapreduce项目,我可以选择使用Java或C++.
我知道用Java编写项目会让我可以使用更多的功能,但是C++也可以通过Hadoop Streaming实现它.
请注意,我对这两种语言都没有什么背景.一个类似的项目已经在C++中完成,代码可供我使用.
所以我的问题是:这是通过AWS提供的额外功能还是仅在您对云有更多控制权时才相关?为了做出决定,还有什么我应该记住的,比如hadoop插件的可用性,这种插件可以用一种语言或另一种语言更好地工作吗?
提前致谢
您可以在AWS上运行Hadoop.最简单的方法是通过他们的Elastic MapReduce服务运行MapReduce作业:http://aws.amazon.com/elasticmapreduce.您还可以在EC2上运行Hadoop集群,如http://archive.cloudera.com/docs/ec2.html所述.
如果您怀疑自己需要编写自己的输入/输出格式,分区器和组合器,我建议您使用后者系统的Java.如果您的工作相对简单,并且您不打算将Hadoop集群用于任何其他目的,我建议您选择最适合您的语言并使用EMR.
无论哪种方式,祝你好运!
披露:我是Cloudera的创始人.
问候,杰夫