从 Azure Databricks 访问 Azure Cosmos DB for Apache Cassandra 数据

适用对象: Cassandra

本文详细介绍了如何在 Azure Databricks 上通过 Spark 使用 Azure Cosmos DB for Apache Cassandra。

先决条件

添加必需的依赖项

  • Cassandra Spark 连接器 - 要将 Azure Cosmos DB for Apache Cassandra 与 Spark 集成,Cassandra 连接器应附加到 Azure Databricks 群集。 若要附加群集:

    • 查看 Databricks 运行时版本,即 Spark 版本。 然后找到与 Cassandra Spark 连接器兼容的 maven 坐标,并将其附加到群集。 请参阅“上传 Maven 包或 Spark 包”一文,将连接器库附加到群集。 建议选择支持 Spark 3.2.1 的 Databricks 运行时版本 10.4 LTS。 若要添加 Apache Spark Cassandra 连接器,请在群集中,选择“库”>“安装新库”>“Maven”,然后在 Maven 坐标中添加 com.datastax.spark:spark-cassandra-connector-assembly_2.12:3.2.0 。 如果使用的是 Spark 2.x,建议使用 Spark 版本为 2.4.5 的环境,在 maven 坐标 com.datastax.spark:spark-cassandra-connector_2.11:2.4.3 处使用 spark 连接器。
  • Azure Cosmos DB for Apache Cassandra 特定的库 - 如果使用的是 Spark 2.x,则需要自定义连接工厂来配置从 Cassandra Spark 连接器到 Azure Cosmos DB for Apache Cassandra 的重试策略。 添加 com.microsoft.azure.cosmosdb:azure-cosmos-cassandra-spark-helper:1.2.0maven 坐标将库附加到群集。

注意

如果使用的是 Spark 3.x,则不需要安装上述 Azure Cosmos DB for Apache Cassandra 特定的库。

警告

本文展示的 Spark 3 示例已使用 Spark 3.2.1 版本和相应的 Cassandra Spark 连接器 com.datastax.spark:spark-cassandra-connector-assembly_2.12:3.2.0 测试过。 更高版本的 Spark 和/或 Cassandra 连接器可能无法按预期运行。

示例笔记本

可在 GitHub 存储库中下载一系列 Azure Databricks 示例笔记本。 这些示例包括如何从 Spark 连接到 Azure Cosmos DB for Apache Cassandra 并对数据执行不同的 CRUD 操作。 此外可以将所有笔记本导入到 Databricks 群集工作区并运行。

从 Spark Scala 程序访问 Azure Cosmos DB for Apache Cassandra

在 Azure Databricks 上作为自动化流程运行的 Spark 程序将通过使用 spark-submit) 提交给群集,并安排在 Azure Databricks 作业中运行。

以下链接可以帮助你开始生成 Spark Scala 程序,以便与 Azure Cosmos DB for Apache Cassandra 进行交互。

后续步骤

使用 Java 应用程序开始创建 API for Cassandra 帐户、数据库和表