Compartilhar via

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

适用对象: 卡珊德拉

重要

你是否正在寻找一种数据库解决方案,以应对需要高扩展性、99.999% 可用性服务级别协议(SLA)、即时自动扩展和跨多个区域的自动故障转移的场景? 请考虑使用 Azure Cosmos DB for NoSQL

本文详细介绍了如何在 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 程序访问 Apache Cassandra 的 Azure Cosmos DB

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

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

后续步骤

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