打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
当MongoDB遇见Spark

适宜读者人群

  • 正在使用Mongodb的开发者

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

传统Spark生态系统

Spark生态系统

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

用MongoDB替换HDFS后的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版本

示例代码

import com.mongodb.spark._ import org.apache.spark.{SparkConf, SparkContext} import org.bson._ val conf = new SparkConf()
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
BigData:大数据开发的简介、核心知识(linux基础+Java/Python编程语言+Hadoop{HDFS、HBase、Hive}+Docker)、经典场景应用之详细攻略
大数据架构系统部署应用介绍
用户画像原理、技术选型及架构实现
深入浅出Spark(1)----什么是Spark
大数据架构的未来
中小型企业大数据体系建设的核心技术选型
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服