從 Azure Databricks 存取 Azure Cosmos DB for Apache Cassandra
適用於: Cassandra
本文詳細說明如何從 Azure Databricks 上的 Spark 使用 Azure Cosmos DB for Apache Cassandra。
必要條件
適用於 Cassandra 連接器的 API for Cassandra 執行個體設定:
適用於 API for Cassandra 的連接器需要將 Cassandra 連線詳細資料初始化,以作為 Spark 內容的一部分。 當您啟動 Databricks Notebook 時,Spark 內容已初始化,因此建議您不要將其停止並重新初始化。 有一個解決方案是在叢集 Spark 設定中的叢集層級新增 API for Cassandra 執行個體設定。 這是每個叢集的一次性活動。 將下列程式碼新增至 Spark 設定,作為以空格分隔的索引鍵值組:
spark.cassandra.connection.host YOUR_COSMOSDB_ACCOUNT_NAME.cassandra.cosmosdb.azure.com 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 Runtime 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 Runtime 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.0
Maven 座標,以將程式庫連結至叢集。
注意
如果您使用 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 範例 Notebook 清單,可供您下載。 這些範例包含如何從 Spark 連線到 Azure Cosmos DB for Apache Cassandra,以及針對資料執行不同的 CRUD 作業。 您也可以匯入所有 Notebook 到您的 Databricks 叢集工作區並執行它。
從 Spark Scala 程式存取 Azure Cosmos DB for Apache Cassandra
要在 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 應用程式來建立 API for Cassandra 帳戶、資料庫及資料表。