Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
适用对象:
卡珊德拉
重要
你是否正在寻找一种数据库解决方案,以应对需要高扩展性、99.999% 可用性服务级别协议(SLA)、即时自动扩展和跨多个区域的自动故障转移的场景? 请考虑使用 Azure Cosmos DB for NoSQL。
本文详细介绍了如何在 Azure Databricks 上通过 Spark 使用 Azure Cosmos DB for Apache Cassandra。
先决条件
Cassandra 连接器的 API for Cassandra 实例配置:
API for Cassandra 的连接器要求将 Cassandra 连接的详细信息作为 spark 上下文的一部分进行初始化。 当启动 Databricks 笔记本时,已初始化 Spark 上下文,不建议停止和重新初始化。 解决方案之一是在 Spark 的集群配置中,添加用于 Cassandra 实例配置的集群级别 API。 这是每个群集的一次性活动。 将以下代码添加到 Spark 配置,作为空格分隔的键值对:
spark.cassandra.connection.host YOUR_COSMOSDB_ACCOUNT_NAME.cassandra.cosmosdb.azure.cn spark.cassandra.connection.port 10350 spark.cassandra.connection.ssl.enabled true spark.cassandra.auth.username YOUR_COSMOSDB_ACCOUNT_NAME spark.cassandra.auth.password YOUR_COSMOSDB_KEY
添加必需的依赖项
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 连接器。
- 查看 Databricks 运行时版本,即 Spark 版本。 然后找到与 Cassandra Spark 连接器兼容的 maven 坐标,并将其附加到群集。 请参阅“上传 Maven 包或 Spark 包”一文,将连接器库附加到群集。 建议选择支持 Spark 3.2.1 的 Databricks 运行时版本 10.4 LTS。 若要添加 Apache Spark Cassandra 连接器,请在集群中,选择库,然后选择安装新,选择Maven,并在 Maven 坐标中添加
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 进行交互。
- 如何从 Spark Scala 程序连接到 Azure Cosmos DB for Apache Cassandra
- 如何在 Azure Databricks 上以自动化作业的形式运行 Spark Scala 程序
- 使用 API for Cassandra 的代码示例完整列表
后续步骤
开始使用 Java 应用程序 为 Cassandra 帐户、数据库和表创建 API 。