适用于 Core (SQL) API 的 Azure Cosmos DB Apache Spark 2 OLTP 连接器:发行说明和资源

适用于: SQL API

可以通过使用适用于 Core (SQL) 的 Azure Cosmos DB Apache Spark 2 OLTP 连接器加速大数据分析。 利用 Spark 连接器,可以对 Azure Cosmos DB 中存储的数据运行 Spark 作业。 支持批处理和流处理。

可以将连接器用于 Azure DatabricksAzure HDInsight,它们在 Azure 上提供 Spark 托管群集。 下表显示了支持的版本:

组件 版本
Apache Spark 2.4.x、2.3.x、2.2.x 和 2.1.x
Scala 2.11
Azure Databricks(运行时版本) 高于版本 3.4

警告

此连接器支持 Azure Cosmos DB 的核心 (SQL) API。 对于适用于 MongoDB 的 Cosmos DB API,请使用适用于 Spark 的 MongoDB 连接器。 对于 Cosmos DB Cassandra API,请使用 Cassandra Spark 连接器

资源

资源 链接
SDK 下载 下载最新的 .jarMaven
API 文档 Spark 连接器参考
参与编写 SDK GitHub 上适用于 Apache Spark 的 Azure Cosmos DB 连接器
入门 使用 Apache Spark 到 Azure Cosmos DB 的连接器加速大数据分析
将 Apache Spark 结构化流式处理与 Apache Kafka 和 Azure Cosmos DB 配合使用

版本历史记录

3.3.0

新增功能

  • 添加了新的配置选项 changefeedstartfromdatetime,该选项可用于指定应处理更改源的开始时间。 有关详细信息,请参阅配置选项

3.2.0

关键 bug 修复

  • 修复了一个回归,该回归导致大型结果集(例如包含数百万行的结果集)的执行器内存消耗过多,并最终导致错误 java.lang.OutOfMemoryError: GC overhead limit exceeded

3.1.1

关键 bug 修复

  • 修复了一个流式检查点边缘案例,其中 ID 包含应用了 ChangeFeedMaxPagesPerBatch 配置的管道字符 (|)。

3.1.0

新增功能

  • 添加了在使用嵌套分区键时对批量更新的支持。
  • 添加了在写入 Azure Cosmos DB 过程中对 Decimal 和 Float 数据类型的支持。
  • 添加了对 Timestamp 类型使用 Long (Unix epoch) 作为值时对这些类型的支持。

3.0.8

关键 bug 修复

  • 修复了使用 WriteThroughputBudget 配置时发生的类型转换异常。

3.0.7

新增功能

  • 将批量失败的错误信息添加到异常和日志。

3.0.6

关键 bug 修复

  • 修复了流式处理检查点问题。

3.0.5

关键 bug 修复

  • 为减少干扰,修复了无意中留下的“错误”级别消息的日志级别。

3.0.4

关键 bug 修复

  • 修复了分区拆分期间结构化流中的 bug。 该 bug 可能会导致缺少某些更改源记录或检查点写入出现 NULL 异常。

3.0.3

关键 bug 修复

  • 修复了导致为 readStream 提供的自定义架构被忽略的 bug。

3.0.2

关键 bug 修复

  • 修复了一个回归(未改装的 JAR 包括所有已改装的依赖项),该回归导致生成时间增加了 50%。

3.0.1

关键 bug 修复

  • 修复了一个依赖项问题,该问题导致通过 TCP 的直接传输失败,并出现 RequestTimeoutException。

3.0.0

新增功能

  • 改进了连接管理和连接池以减少元数据调用数。

常见问题解答

1.如何向客户通知即将停用的 SDK?

Azure 会在即将停用的 SDK 的支持结束之前提前 12 个月进行通知,以便协助平稳地转换到支持的 SDK。 此外,会通过各种通信渠道(Azure 管理门户、开发人员中心、博客文章以及与分配的服务管理员的直接通信)来通知客户。

2.在这 12 个月期间,客户是否可以使用“即将”停用的 Azure Cosmos DB SDK 来创作应用程序?

可以,客户在 12 个月宽限期内具有完全访问权限,可以使用“即将”停用的 Azure Cosmos DB SDK 创作、部署和修改应用程序。 在 12 个月宽限期内,建议客户根据相应情况迁移到支持的较新版本 Azure Cosmos DB SDK。

3.在 12 个月通知期之后,客户是否可以使用已停用的 Azure Cosmos DB SDK 创建和修改应用程序?

在 12 个月通知期之后,SDK 会停用。 Azure Cosmos DB 平台不允许使用已停用 SDK 的应用程序对 Azure Cosmos DB 进行任何访问。 此外,Azure 不会对已停用的 SDK 提供客户支持。

4.如果客户运行使用不支持的 Azure Cosmos DB SDK 版本的应用程序,会发生什么情况?

任何使用已停用 SDK 版本连接 Azure Cosmos DB 服务的尝试都会被拒绝。

5.新特性和功能是否会适用于所有未停用的 SDK?

新特性和功能只添加到新版本。 如果使用的是未停用的旧版本 SDK,则对 Azure Cosmos DB 进行的请求仍会与以前一样正常工作,但是你无法访问任何新功能。

6.如果无法在截止日期之前更新应用程序,该怎么办?

我们建议尽早升级到最新 SDK。 SDK 标记为要停用之后,会有 12 个月来更新应用程序。 如果由于任何原因而无法在此时间范围内完成应用程序更新,请在截止日期之前与 Cosmos DB 团队联系并请求其帮助。

后续步骤

了解有关 Azure Cosmos DB 的详细信息。

详细了解 Apache Spark