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"

import org.apache.spark.sql.SparkSession
import com.mongodb.spark._
import com.mongodb.spark.config._
import org.bson.Document val spark = SparkSession.builder()
.master("local")
.appName("MongoSparkConnector")
.config("spark.some.config.option", "some-value")
.getOrCreate() val uri = "mongodb://172.1.1.1:27017" val userDF = spark.sql("""
select
uid,
name,
current_date() version
from test_table
limit 100
""").repartition(8) // Write to MongoDB
userDF.write.mode("overwrite").format("com.mongodb.spark.sql").options(
Map(
"uri" -> uri,
"database" -> "test",
"collection" -> "test_table")).save() // Read From MongoDB
val df = spark.read.format("com.mongodb.spark.sql").options(
Map(
"uri" -> uri,
"database" -> "test",
"collection" -> "test_table")).load() // 其他方式
userDF.write.mode("overwrite").format("com.mongodb.spark.sql").options(
Map(
"spark.mongodb.input.uri" -> uri,
"spark.mongodb.output.uri" -> uri,
"spark.mongodb.output.database" -> "test",
"spark.mongodb.output.collection" -> "test_table")).save() MongoSpark.save(
userDF.write.mode("overwrite").options(
Map(
"spark.mongodb.input.uri" -> uri,
"spark.mongodb.output.uri" -> uri,
"spark.mongodb.output.database" -> "test",
"spark.mongodb.output.collection" -> "test_table"))) MongoSpark.save(
userDF.write.mode("overwrite").options(
Map(
"uri" -> uri,
"database" -> "test",
"collection" -> "test_table"))) 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. pygame-KidsCanCode系列jumpy-part5-屏幕滚动

    接上回继续,方块不断向上跳动的过程中,从视觉上看,整个背景屏幕应该不断向下滚动,而且上方要不断出现新档板(否则就没办法继续向上跳了),这节我们将来实现这种效果,感觉好象很复杂,但实现起来其实很简单,只 ...

  2. 测试通过!为何线上还有很多BUG?实践中的质量控制

    质量控制 大多数测试人员认为测试工作是发现bug,虽然这是测试的主要任务,但其实测试最重要的任务是质量控制,而发现bug和验证bug只是质量控制的一个重要环节而已. 我想很多测试人员都经历过这样的场景 ...

  3. 07、RDD持久化

    为了避免多次计算同一个RDD(如上面的同一result RDD就调用了两次Action操作),可以让Spark对数据进行持久化.当我们让Spark持久化存储一个RDD时,计算出RDD的节点会分别保存它 ...

  4. C# 枚举类型 enum

    我个人感觉平日用到的enum应该是非常简单的,无非就是枚举和整数.字符串之间的转换.最近工作发现一些同事居然不太会用这个东东,于是就整理一下. 枚举类型是定义了一组“符号名称/值”配对.枚举类型是强类 ...

  5. sed 替换多个空格为一个

    sed -i 's/[ ][ ]*/ /g'  file.txt

  6. Navicat Win 和 Mac 视图类快捷键对比

    Navicat 查询是根据用户需求从数据库提取可读格式的数据,Navicat 提供两个强大的工具与 SQL 查询工作:查询创建工具和查询编辑器,查询创建工具可视觉化地创建查询,查询编辑器可直接编辑查询 ...

  7. Python之关于量化投资实现代码--根据策略提出的代码--还未完善

    # 根据缺口的模式选股买股票 ''' -------------------------------------------- 1.总体回测前要做的事情 initialize(context) 1.1 ...

  8. Mysql Binlog三种格式详细介绍

    一.MySQL Binlog格式介绍 mysql binlog日志有三种格式,分别为Statement,MiXED,以及ROW! 查看binlog的格式的脚本: 二.binlog 的不同模式有什么区别 ...

  9. SQL Server 2016新特性:Temporal Table

    什么是系统版本的Temporal Table 系统版本的Temporal Table是可以保存历史修改数据并且可以简单的指定时间分析的用户表. 这个Temporal Table就是系统版本的Tempo ...

  10. sed用法去除行首和行末的中括号

    sed去掉行首和行末的中括号: sed -i 's:^\[::; s:\]$::;' newtrace_nlp.log.2018-08-02.bak 其余可依次类推.