全部产品

MongoDB

本文介绍如何使用Databricks 读写MongoDB数据源数据。

前提条件

使用Databricks 读写MongoDB数据

  1. DDI集群与MongoDB网络打通,并添加MongoDB白名单

    1. 登录MongoDB管理控制台云数据库MongoDB管理控制台

    2. 点击上部选择实例所在region

    3. 点击实例ID进入实例详情页面

    4. 查看基本信息找到对应的VPV和VSwitchdata

    5. 登录到databricks数据洞察集群阿里云Databricks控制台

    6. 选择集群所在region进入集群列表

    7. 点击集群实例进入集群详情页面

    8. 点击详情页面上方数据源页签进入数据源页面点击添加data

    9. 选择通用网络,选择对应的VPC和VSwith点击下一步点击确认等待创建成功datadata

2. 添加集群ENI IP至MongDB数据库白名单(登录MongDB云产品管理控制台->白名单设置)

data

3. 使用NoteBook读写MongoDB数据

说明

1.NoteBook中创建相应的数据库和delta表,其中format为com.mongodb.spark.sql

2.delta表声明的列名在MongDB表中不存在时,MongDB表会自动增加一列,默认为null

3.uri内容可以登录到MongDB云产品管理控制台->数据库连接查询得到

1). 创建数据库和delta表

%sql
create database  if not exists mongodb;
use mongodb;
create table mongodb_test(
    id string,
    name string
)using com.mongodb.spark.sql
options (
uri 'your connection uri',
database 'your database',
collection 'your collection'
)

data2). 向表中写入数据

%spark
//定义内部类
case class Student(id: String, name: String)
//创建自定义数据源DataFrame
val df =  spark.createDataFrame(sc.parallelize(List(Student("2172","Torcuato"), Student("3142", "Rosalinda"))))
//数据写入到mongodb
df.write.format("com.mongodb.spark.sql").mode("append").saveAsTable("mongodb_test")

3). 读取mongodb数据

%spark
//读取mongodb数据
val mongoDF = spark.read.format("com.mongodb.spark.sql").option("uri", 'your connection uri').option("database","your database").option("collection", "your collection").load()
mongoDF.show(2)
data

4). SQL查询

%sql
select * from mongodb_test limit 2;
data