MongoDB Connector for Spark
  Spark Connector Scala Guide

spark-shell --jars "mongo-spark-connector_2.11-2.0.0.jar,mongo-hadoop-core-2.0.2.jar,mongo-java-driver-3.4.2.jar"

  1. import org.apache.spark.sql.SparkSession
  2. import com.mongodb.spark._
  3. import com.mongodb.spark.config._
  4. import org.bson.Document
  5.  
  6. val spark = SparkSession.builder()
  7. .master("local")
  8. .appName("MongoSparkConnector")
  9. .config("spark.some.config.option", "some-value")
  10. .getOrCreate()
  11.  
  12. val uri = "mongodb://172.1.1.1:27017"
  13.  
  14. val userDF = spark.sql("""
  15. select
  16. uid,
  17. name,
  18. current_date() version
  19. from test_table
  20. limit 100
  21. """).repartition(8)
  22.  
  23. // Write to MongoDB
  24. userDF.write.mode("overwrite").format("com.mongodb.spark.sql").options(
  25. Map(
  26. "uri" -> uri,
  27. "database" -> "test",
  28. "collection" -> "test_table")).save()
  29.  
  30. // Read From MongoDB
  31. val df = spark.read.format("com.mongodb.spark.sql").options(
  32. Map(
  33. "uri" -> uri,
  34. "database" -> "test",
  35. "collection" -> "test_table")).load()
  36.  
  37. // 其他方式
  38. userDF.write.mode("overwrite").format("com.mongodb.spark.sql").options(
  39. Map(
  40. "spark.mongodb.input.uri" -> uri,
  41. "spark.mongodb.output.uri" -> uri,
  42. "spark.mongodb.output.database" -> "test",
  43. "spark.mongodb.output.collection" -> "test_table")).save()
  44.  
  45. MongoSpark.save(
  46. userDF.write.mode("overwrite").options(
  47. Map(
  48. "spark.mongodb.input.uri" -> uri,
  49. "spark.mongodb.output.uri" -> uri,
  50. "spark.mongodb.output.database" -> "test",
  51. "spark.mongodb.output.collection" -> "test_table")))
  52.  
  53. MongoSpark.save(
  54. userDF.write.mode("overwrite").options(
  55. Map(
  56. "uri" -> uri,
  57. "database" -> "test",
  58. "collection" -> "test_table")))
  59.  
  60. spark.stop()

Spark连接MongoDB之Scala的更多相关文章

  1. spark连接mongodb

    1.添加依赖 hadoop和mongodb的连接器 <dependency> <groupId>org.mongodb.mongo-hadoop</groupId> ...

  2. 记录一次spark连接mysql遇到的问题

    版权声明:本文为博主原创文章,未经博主允许不得转载 在使用spark连接mysql的过程中报错了,错误如下 08:51:32.495 [main] ERROR - Error loading fact ...

  3. spark SQL学习(spark连接 mysql)

    spark连接mysql(打jar包方式) package wujiadong_sparkSQL import java.util.Properties import org.apache.spark ...

  4. spark SQL学习(spark连接hive)

    spark 读取hive中的数据 scala> import org.apache.spark.sql.hive.HiveContext import org.apache.spark.sql. ...

  5. 【原创】大叔经验分享(55)spark连接kudu报错

    spark-2.4.2kudu-1.7.0 开始尝试 1)自己手工将jar加到classpath spark-2.4.2-bin-hadoop2.6+kudu-spark2_2.11-1.7.0-cd ...

  6. nodejs连接mongodb的方法

    一. var express = require('express'); var mongodb = require('mongodb'); var app = express(); app.use( ...

  7. Nodejs开发(2.连接MongoDB)

    一.先配置MongoDB Win10下下载那个安装版,zip版的会报却各种DLL,安装在你希望的路径,实在安装错了,就剪切过来也行(本例E:\mongodb). 然后是配置启动脚本,就是写一个bat文 ...

  8. 在express中使用Mongoose连接MongoDB

    为何要学Mongoose? Mongoose是MongoDB的一个对象模型工具,封装了MongoDB对文档的的一些增删改查等常用方法,让NodeJS操作Mongodb数据库变得更加灵活简单. 0.安装 ...

  9. java连接mongodb的一个奇葩问题及奇葩解决方式

    昨天在eclipse中编写代码,本来连接mongodb进行各项操作都是正常的,但是有一会儿突然之间就没法连接了,还一直抱错,错误如下: 信息: Cluster created with setting ...

随机推荐

  1. 20、collections模块和re模块(正则表达式详解)

    从今天开始我们就要开始学习python的模块,今天先介绍两个常用模块collections和re模块.还有非常重要的正则表达式,今天学习的正则表达式需要记忆的东西非常多,希望大家可以认真记忆.按常理来 ...

  2. jvm实战-jvm调优

    jvm调优 jvm调优主要是内存管理方面的调优,包括各个代的大小,GC策略等. 代大小调优 JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制:系统的可用虚拟内 ...

  3. ConcurrentHashMap代码解析

    ConcurrentHashMap (JDK 1.7)的继承关系如下: 1. ConcurrentHashMap是线程安全的hash map.ConcurrentHashMap的数据结构是一个Segm ...

  4. 一步步教你轻松学支持向量机SVM算法之理论篇1

    一步步教你轻松学支持向量机SVM算法之理论篇1 (白宁超 2018年10月22日10:03:35) 摘要:支持向量机即SVM(Support Vector Machine) ,是一种监督学习算法,属于 ...

  5. cookie 跨域解决方法

    1.Nginx 正向和反向代理的区别 正向代理和反向代理的区别:正向代理隐藏真实客户端,反向代理隐藏真实服务端,图示: 2.cookie跨域问题 因为cookie存在跨域问题,其中一个解决方法是,设置 ...

  6. 时间mysql

    查询一天/今天: select * from table where to_days(column_time) = to_days(now()) select * from table where d ...

  7. 自建k8s集群日志采集到阿里云日志服务

    自建k8s集群 的master 节点安装 logtail 采集工具 wget http://logtail-release-cn-hangzhou.oss-cn-hangzhou.aliyuncs.c ...

  8. 【ThinkPHP】解析ThinkPHP5创建模块

    在根目录下有一个build.php文件,该文件是自动生成的,自动创建模块.build.php的文件内容如下: <?php return [ // 生成应用公共文件 '__file__' => ...

  9. 【PHP】解析PHP中的函数

    目录结构: contents structure [-] 可变参数的函数 变量函数 回调函数 自定义函数库 闭包(Closure)函数的使用 在这篇文章中,笔者将会讲解如何使用PHP中的函数,PHP是 ...

  10. 批量替换存储过程内容脚本sp_SqlReplace

    开始 在数据库开发过程中,如果某一个表字段名被重命名.那么在使用到该字段的存储过程,对应的表字段名也要修改. 当存在多个存储都有使用该表字段,需要逐个去修改替换,是一件比较繁琐的事情,我们需要一个能实 ...