Spark整合Mongodb(附实例代码)

  • 环境准备
    1. mongodb下载
    2. 解压安装
    3. 启动mongodb服务
$MONGODB_HOME/bin/mongod --fork --dbpath=/root/data/mongodb/ --logpath=/root/data/log/mongodb/mongodb.log 
  • pom依赖
     <dependency>
      <groupId>org.mongodb.spark</groupId>
      <artifactId>mongo-spark-connector_2.11</artifactId>
      <version>${spark.version}</version>
    </dependency>
  • 实例代码
 object ConnAppTest {
  def main(args: Array[String]): Unit = {
    val spark = SparkSession.builder()
      .master("local[2]")
      .appName("ConnAppTest")
      .config("spark.mongodb.input.uri", "mongodb://192.168.31.136/testDB.testCollection") // 指定mongodb输入
      .config("spark.mongodb.output.uri", "mongodb://192.168.31.136/testDB.testCollection") // 指定mongodb输出
      .getOrCreate()
    // 生成测试数据
    val documents = spark.sparkContext.parallelize((1 to 10).map(i => Document.parse(s"{test: $i}")))
    // 存储数据到mongodb
    MongoSpark.save(documents)
    // 加载数据
    val rdd = MongoSpark.load(spark)
    // 打印输出
    rdd.show
  }
}

原创声明,本文系作者授权云+社区-专栏发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java开发者杂谈

Python(3):文件读写与异常

访问路径: 文件读写必然涉及到文件会放在某个路径下。在python里,可以通过引入os包来实现切换当前访问的路径: 1 # 假设我在 /home/zyq/Ki...

3226
来自专栏散尽浮华

运维工作中sed常规操作命令梳理

sed是一个流编辑器(stream editor),一个非交互式的行编辑器。它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”,接着...

1727
来自专栏PPV课数据科学社区

解惑rJava R与Java的高速通道

目录 rJava介绍 rJava安装 rJava实现R调用Java rJava(JRI)实现Java调用R (win7) rJava(JRI)实现Java调用R...

3327
来自专栏AI研习社

Bash 老司机也可能忽视的 10 大编程细节

AI 研习社按:Bash,作为大部分 Linux 发行版的出厂预设 Shell,因其晦涩难懂的语法设置,以及需要特别留心的编程细节,几乎成为 Linux 区别于...

2656
来自专栏python3

python 文件操作

新建一个txt文件,内容是《Yesterday When I Was Young》一首歌的歌词

702
来自专栏大学生计算机视觉学习DeepLearning

c++ 网络编程(七)TCP/IP LINUX下 socket编程 基于套接字的标准I/O函数使用 与 fopen,feof,fgets,fputs函数用法

原文链接:https://www.cnblogs.com/DOMLX/p/9614820.html

1104
来自专栏BestSDK

是不是Bash编程老司机,看完这10条细节就知道了

Bash,作为大部分 Linux 发行版的出厂预设 Shell,因其晦涩难懂的语法设置,以及需要特别留心的编程细节,几乎成为 Linux 区别于其他操作系统的代...

3387
来自专栏linjinhe的专栏

Linux进程内存管理(一)

Linux 环境下,进程的内存管理器默认是使用 glibc 实现的 ptmalloc 。另外,还有两个比较有名的内存管理器:google 的 tcmalloc ...

1383
来自专栏cs

研究生的一份试题的几道题节选

首先祝朋友考研成功,勇往直前,我是不考研的,所以完全以提高能力,使用为主,不在意细节。小伙伴让我帮忙看了一下试卷,故截取了几道题目。 c我是真的应了那句话,从入...

3368
来自专栏linux驱动个人学习

sysfs_create_group创建sysfs接口

在调试驱动,可能需要对驱动里的某些变量进行读写,或函数调用。可通过sysfs接口创建驱动对应的属性,使得可以在用户空间通过sysfs接口的show和store函...

3174

扫码关注云+社区