阿里云首页 Databricks数据洞察

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