加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

当MongoDB遇见Spark

发布时间:2020-12-13 12:41:29 所属栏目:百科 来源:网络整理
导读:《当MongoDB遇见Spark》要点: 本文介绍了当MongoDB遇见Spark,希望对您有用。如果有疑问,可以联系我们。 适宜读者人群 正在使用Mongodb的开发者 传统Spark生态系统 和 MongoDB在Spark生态的角色 传统Spark生态系统 Spark生态系统 那么Mongodb作为一个datab

《当MongoDB遇见Spark》要点:
本文介绍了当MongoDB遇见Spark,希望对您有用。如果有疑问,可以联系我们。

适宜读者人群

  • 正在使用Mongodb的开发者

传统Spark生态系统 和 MongoDB在Spark生态的角色

传统Spark生态系统

当MongoDB遇见Spark

Spark生态系统

那么Mongodb作为一个database,可以担任什么样的角色呢? 就是数据存储这部分,也就是图中的黑色圈圈HDFS的部分,如下图

用MongoDB替换HDFS后的Spark生态系统

当MongoDB遇见Spark

Spark+Mongodb生态系统

为什么要用MongoDB替换HDFS

  1. 存储方式上,HDFS以文件为单位,每个文件64MB~128MB不等,而MongoDB作为文档数据库则表现得更加细颗粒化

  2. MongoDB支持HDFS所没有的索引的概念,所以在读取上更加快

  3. MongoDB支持的增删改功能比HDFS更加易于修改写入后的数据

  4. HDFS的响应级别为分钟,而MongoDB通常是毫秒级别

  5. 如果现有数据库已经是MongoDB的话,那就不用再转存一份到HDFS上了

  6. 可以利用MongoDB强大的Aggregate做数据的筛选或预处理

MongoDB Spark Connector介绍

  1. 支持读取和写入,即可以将计算后的结果写入MongoDB

  2. 将查询拆分为n个子任务,如Connector会将一次match,拆分为多个子任务交给spark来处理,减少数据的全量读取

MongoDB Spark 示例代码

计算用类型Type=1的message字符数并按userid进行分组

开发Maven dependency配置

这里用的是mongo-spark-connector_2.11 的2.0.0版本和spark的spark-core_2.11的2.0.2版本

 <dependency>

示例代码

 import com.mongodb.spark._ import org.apache.spark.{SparkConf,SparkContext} import org.bson._ val conf = new SparkConf()

编程之家PHP培训学院每天发布《当MongoDB遇见Spark》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读