Accedere ai dati di Azure Cosmos DB for Apache Cassandra da Azure Databricks
SI APPLICA A: Cassandra
Questo articolo illustra come usare Azure Cosmos DB for Apache Cassandra da Spark in Azure Databricks.
Prerequisiti
Effettuare il provisioning di un account Azure Cosmos DB for Apache Cassandra
Esaminare le nozioni di base sulla connessione ad Azure Cosmos DB for Apache Cassandra
Effettuare il provisioning di un cluster di Azure Databricks
Esaminare gli esempi di codice per l'uso dell'API per Cassandra
Configurazione dell'istanza API per Cassandra per il connettore Cassandra:
Il connettore per l'API per Cassandra richiede che i dettagli della connessione a Cassandra vengano inizializzati nel contesto Spark. Quando si avvia un notebook Databricks, il contesto Spark è già inizializzato e non è consigliabile arrestarlo e reinizializzarlo. Una soluzione consiste nell'aggiungere la configurazione dell'istanza dell'API per Cassandra a un livello di cluster, nella configurazione del cluster Spark. Si tratta di un'attività una tantum per ogni cluster. Aggiungere il codice seguente alla configurazione Spark come coppia chiave-valore separata da spazio:
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
Aggiungere le dipendenze obbligatorie
Connettore Cassandra per Spark: per eseguire l'integrazione di Azure Cosmos DB for Apache Cassandra con Spark, il connettore Cassandra deve essere collegato al cluster Azure Databricks. Per collegare il cluster:
- Esaminare la versione di runtime di Databricks, la versione di Spark. Trovare quindi le coordinate Maven compatibili con il connettore Cassandra per Spark e collegarle al cluster. Vedere l'articolo Upload a Maven package or Spark package (Caricare un pacchetto Maven o un pacchetto Spark) per collegare la libreria del connettore al cluster. È consigliabile selezionare Databricks runtime versione 10.4 LTS, che supporta Spark 3.2.1. Per aggiungere il connettore Apache Spark Cassandra, nel cluster selezionare Librerie>Installa nuova>Maven e quindi aggiungere
com.datastax.spark:spark-cassandra-connector-assembly_2.12:3.2.0
nelle coordinate Maven. Se si usa Spark 2.x, è consigliabile un ambiente con Spark versione 2.4.5, usando il connettore Spark alle coordinate mavencom.datastax.spark:spark-cassandra-connector_2.11:2.4.3
.
- Esaminare la versione di runtime di Databricks, la versione di Spark. Trovare quindi le coordinate Maven compatibili con il connettore Cassandra per Spark e collegarle al cluster. Vedere l'articolo Upload a Maven package or Spark package (Caricare un pacchetto Maven o un pacchetto Spark) per collegare la libreria del connettore al cluster. È consigliabile selezionare Databricks runtime versione 10.4 LTS, che supporta Spark 3.2.1. Per aggiungere il connettore Apache Spark Cassandra, nel cluster selezionare Librerie>Installa nuova>Maven e quindi aggiungere
Libreria specifica di Azure Cosmos DB for Apache Cassandra: se si utilizza Spark 2.x, è necessaria una factory di connessione personalizzata per configurare i criteri di ripetizione dal connettore Cassandra per Spark all'API Cassandra di Azure Cosmos DB. Aggiungere le
com.microsoft.azure.cosmosdb:azure-cosmos-cassandra-spark-helper:1.2.0
coordinate Maven per collegare la libreria al cluster.
Nota
Se si usa Spark 3.x, non è necessario installare la libreria specifica di Azure Cosmos DB for Apache Cassandra indicata in precedenza.
Avviso
I campioni di Spark 3 illustrati in questo articolo sono stati testati con Spark versione 3.2.1 e il connettore Cassandra Spark corrispondente com.datastax.spark:spark-cassandra-connector-assembly_2.12:3.2.0. Le versioni successive di Spark e/o del connettore Cassandra potrebbero non funzionare come previsto.
Notebook di esempio
Alcuni notebook di esempio di Azure Databricks sono disponibili per il download nel repository GitHub. Questi esempi includono come connettersi ad Azure Cosmos DB for Apache Cassandra da Spark ed eseguire diverse operazioni CRUD sui dati. È anche possibile importare tutti i notebook nell'area di lavoro del cluster Databricks ed eseguirli.
Accesso ad Azure Cosmos DB for Apache Cassandra da programmi Spark in Scala
I programmi Spark da eseguire come processi automatici in Azure Databricks vengono inviati al cluster usando spark-submit e pianificati per l'esecuzione tramite processi di Azure Databricks.
I collegamenti seguenti consentono di iniziare a compilare programmi Spark in Scala per l'interazione con Azure Cosmos DB for Apache Cassandra.
- Come connettersi ad Azure Cosmos DB for Apache Cassandra da un programma Spark in Scala
- Come eseguire un programma Spark in Scala come processo automatico in Azure Databricks
- Elenco completo di esempi di codice da usare con l'API per Cassandra
Passaggi successivi
Per iniziare, creare un account API per Cassandra, un database e una tabella usando un'applicazione Java.