对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

开始使用 Spark Connector

  • 具备MongoDB和Apache Spark的基本使用知识。有关更多详细信息,请参阅MongoDB文档和Spark文档。

  • MongoDB 4.2 或更高版本

  • Spark 版本 3.1 至 3.5

  • Java 8 或更高版本

重要

在版本 10.0.0 及更高版本的 Connector 中,请使用 mongodb 格式读取和写入 MongoDB:

df = spark.read.format("mongodb").load()

向依赖项管理工具提供 Spark Core、Spark SQL 和 MongoDB Spark Connector 依赖项。

从版本3.2.0开始, Apache Spark 同时支持 Scala 2.12和2.13 。 Spark 3.1.3和以前的版本仅支持 Scala 2 。 12 。 要为两个 Scala 版本提供支持,请使用10版本。 7 。 Spark Connector 的0会生成两个工件:

  • org.mongodb.spark:mongo-spark-connector_2.12:10.7.0 针对 Scala 2.12进行编译,并支持 Spark 3.1 .x 及更高版本。

  • org.mongodb.spark:mongo-spark-connector_2.13:10.7.0 针对 Scala 2.13进行编译,并支持 Spark 3.2 .x 及更高版本。

重要

使用与您的 Scala 和 Spark 版本兼容的 Spark Connector 工件。

以下 Maven pom.xml文件摘录显示了如何包含与 Scala 2.12兼容的依赖项:

<dependencies>
<dependency>
<groupId>org.mongodb.spark</groupId>
<artifactId>mongo-spark-connector_2.12</artifactId>
<version>10.7.0</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.12</artifactId>
<version>3.3.1</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.12</artifactId>
<version>3.3.1</version>
</dependency>
</dependencies>

在通过 SparkSession 指定 Connector 配置时,您必须相应地为设置添加前缀。有关详细信息和其他可用的 MongoDB Spark Connector 选项,请参阅配置 Spark 指南。

package com.mongodb.spark_examples;
import org.apache.spark.sql.SparkSession;
public final class GettingStarted {
public static void main(final String[] args) throws InterruptedException {
/* Create the SparkSession.
* If config arguments are passed from the command line using --conf,
* parse args for the values to set.
*/
SparkSession spark = SparkSession.builder()
.master("local")
.appName("MongoSparkConnectorIntro")
.config("spark.mongodb.read.connection.uri", "mongodb://127.0.0.1/test.myCollection")
.config("spark.mongodb.write.connection.uri", "mongodb://127.0.0.1/test.myCollection")
.getOrCreate();
// Application logic
}
}
  • spark.mongodb.read.connection.uri指定MongoDB服务器解决( 127.0.0.1 )、要连接的数据库( test )、要从中读取数据的集合( myCollection ) 以及读取偏好(read preference)。

  • spark.mongodb.write.connection.uri指定 MongoDB 服务器地址 ( 127.0.0.1 )、要连接的数据库 ( test ) 以及要写入数据的集合 ( myCollection )。

您可以使用SparkSession对象将数据写入 MongoDB、从 MongoDB 读取数据、创建数据集以及执行 SQL 操作。

以下部分介绍了一些可以集成Spark和MongoDB Spark Connector的常用第三方平台。

Amazon EMR 是一个托管集群平台,可用于运行Spark等大数据框架。要在 EMR集群上安装Spark ,请参阅Amazon Web Services文档中的Amazon EMR入门。

Databricks 是一个用于构建、部署和共享企业级数据的分析平台。要将MongoDB Spark Connector与 Databricks 集成,请参阅 Databricks 文档中的MongoDB。

Docker是一个开源平台,可帮助开发者在容器中构建、股票和运行应用程序。

Kubernetes是一个用于自动化容器化管理的开源平台。要在Kubernetes上运行Spark ,请参阅Spark文档中的在Kubernetes上运行Spark 。