apache spark独立连接到mongodb与scala使用casbah

时间:2015-02-02 19:42:51

标签: mongodb scala apache-spark casbah

我想在5个文件上执行Apache Spark map-reduce并将它们输出到mongodb。我不想使用HDFS,因为NameNodes是单点故障(http://wiki.apache.org/hadoop/NameNode)。

一个。是否可以在RDD中读取多个文件,对所有文件中的键执行映射缩减,并使用casbah工具包将结果输出到mongodb

B中。是否可以使用客户端从mongodb读取到RDD,使用casbah工具包执行map reduce和右输出回mongodb

℃。是否可以读取RDD中的多个文件,使用mongodb中存在的键映射它们,将它们缩减为单个文档并将它们插回mongodb

我知道使用mongo-hadoop连接器可以做到这一切。我只是不喜欢使用HDFS的想法,因为它是单点故障,而backUpNameNodes尚未实现。

我已经在线阅读了一些内容,但它们并不清楚。

MongoDBObject not being added to inside of an rrd foreach loop casbah scala apache spark

不确定那里发生了什么。 JSON似乎没有效果......

资源:

https://github.com/mongodb/casbah

http://docs.mongodb.org/ecosystem/drivers/scala/

1 个答案:

答案 0 :(得分:1)

是的。我没有使用MongoDB,但基于我用Spark完成的其他事情,这些都应该是完全可能的。

但是,请记住,Spark应用程序通常不具有容错能力。应用程序(又名“驱动程序”)本身就是单点故障。关于该主题有一个相关的问题(Resources/Documentation on how does the failover process work for the Spark Driver (and its YARN Container) in yarn-cluster mode),但我认为目前没有一个非常好的答案。

我没有运行关键HDFS集群的经验,所以我不知道单点故障有多少问题。但另一个想法可能是在Amazon S3或Google Cloud Storage之上运行。我希望这些比你烹饪的任何东西都更可靠。他们拥有庞大的支持团队,投入了大量资金和专业知识。