最近发现Spark + MongoDB是个非常cool的组合,详见MongoDB + Spark: 完整的大数据解决方案
Spark连接MongoDB需要连接器,主要有官方和第三方两种,但是官方的连接器目前(写本文时)好像只支持Spark 1.6.x(我在2.1上折腾了几天都编译失败,这里需要注意下)
连接器详细的安装看上面连接的README就行了,第一次执行时会下载相应的工具包,但是国内”复杂网络环境”有可能会在build的时候失败(我就失败了好多次…),我参考的文档里 作者提供了下载好的。
选择器的选择
- 第三方连接器的功能比官方连接器的要好一点,支持在原有表的基础上做更新。
- 官方连接器的性能比第三方连接器的好一点,官方连接器和Spark有着相同的条件下推原则,会把过滤条件下推到MongoDB去执行。
选择器的使用
|
|
Spark-MongoDB的连接
我使用的官方连接器,连接很简单:
更具体的参官方APISpark Connector Python Guide
本文参考的文档写的非常棒spark处理mongodb数据(python版)