我正在为我的一个项目使用MeteorJS框架。 在使用MeteorJS之前,我已经构建了一个基本的webApp,当它只是Client,Server和MongoDB时它可以正常工作。
在这个项目中,我希望monogDB(使用MeteorJS构建)来填充Apache Spark中的数据。
基本上,Apache Spark会处理一些数据并将其注入mongoDB 这可行吗? 请你指点我正确的教程 这有多复杂? 在此先感谢您的帮助
答案 0 :(得分:2)
是的,这是非常可能的,非常简单。这说它不会通过MeteorJS,它将成为Apache Spark工作的一部分,并将在那里进行配置。
使用MongoDB Spark Connector从DataFrame或RDD获取数据并将其保存到MongoDB很容易。
首先,您将配置数据的写入方式和位置:
// Configure where to save the data
val writeConfig = WriteConfig(Map("uri" -> "mongodb://localhost/databaseName.collectionName"))
使用RDD,您应该通过地图功能将它们转换为文档,例如:
val documentRDD = rdd.map(data => Document) // map the RDD into documents
MongoSpark.save(documentRDD, writeConfig)
如果您使用的是DataFrame,那么只需提供DataFrameWriter和writeConfig即可轻松实现:
MongoSpark.save(dataFrame.write, writeConfig)
documentation中有更多信息,github repo中有例子。