Accéder à des données Azure Cosmos DB for Apache Cassandra à partir d’Azure Databricks
S’APPLIQUE À : Cassandra
Cet article explique comment utiliser Azure Cosmos DB for Apache Cassandra à partir de Spark sur Azure Databricks.
Prérequis
Approvisionner un compte Azure Cosmos DB for Apache Cassandra
Passez en revue les principes fondamentaux de la connexion à Azure Cosmos DB for Apache Cassandra
Consulter les exemples de code illustrant l’utilisation de l’API pour Cassandra
Configuration de l’instance de l’API pour Cassandra pour le connecteur Cassandra :
Le connecteur pour l’API pour Cassandra nécessite que les informations de la connexion Cassandra soient initialisées dans le cadre du contexte spark. Quand vous lancez un notebook Databricks, le contexte spark est déjà initialisé, et il est déconseillé de l’arrêter et de le réinitialiser. Une solution consiste à ajouter l’instance de l’API pour Cassandra à un niveau de cluster, dans la configuration du cluster spark. Cette opération s’effectue une seule fois par cluster. Ajoutez à la configuration Spark le code suivant, où chaque paire clé-valeur utilise un espace en guise de séparation :
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
Ajouter les dépendances nécessaires
Connecteur Spark Cassandra : Pour intégrer Azure Cosmos DB for Apache Cassandra avec Spark, vous devez attacher le connecteur Cassandra au cluster Azure Databricks. Pour attacher le cluster :
- Passez en revue la version du runtime de Databricks et la version de Spark. Ensuite, recherchez les coordonnées Maven qui sont compatibles avec le connecteur Spark Cassandra, puis attachez-le au cluster. Consultez l’article « Upload a Maven package or Spark package » (Charger un package Maven ou un package Spark) pour savoir comment attacher la bibliothèque de connecteur au cluster. Nous vous recommandons de sélectionner le runtime Databricks version 10.4 LTS, qui prend en charge Spark 3.2.1. Pour ajouter le connecteur Apache Spark Cassandra à votre cluster, sélectionnez Bibliothèques>Installer Nouveau>Maven, puis ajoutez
com.datastax.spark:spark-cassandra-connector-assembly_2.12:3.2.0
dans les coordonnées Maven. Si vous utilisez Spark 2.x, nous vous recommandons d’utiliser un environnement avec Spark version 2.4.5, avec le connecteur Spark aux coordonnées Mavencom.datastax.spark:spark-cassandra-connector_2.11:2.4.3
.
- Passez en revue la version du runtime de Databricks et la version de Spark. Ensuite, recherchez les coordonnées Maven qui sont compatibles avec le connecteur Spark Cassandra, puis attachez-le au cluster. Consultez l’article « Upload a Maven package or Spark package » (Charger un package Maven ou un package Spark) pour savoir comment attacher la bibliothèque de connecteur au cluster. Nous vous recommandons de sélectionner le runtime Databricks version 10.4 LTS, qui prend en charge Spark 3.2.1. Pour ajouter le connecteur Apache Spark Cassandra à votre cluster, sélectionnez Bibliothèques>Installer Nouveau>Maven, puis ajoutez
Bibliothèque spécifique d’Azure Cosmos DB for Apache Cassandra : si vous utilisez Spark 2.x, une fabrique de connexion personnalisée est nécessaire pour configurer la stratégie de nouvelle tentative du connecteur Cassandra Spark à Azure Cosmos DB for Apache Cassandra. Ajoutez les coordonnées maven
com.microsoft.azure.cosmosdb:azure-cosmos-cassandra-spark-helper:1.2.0
pour attacher la bibliothèque au cluster.
Notes
Si vous utilisez Spark 3.x, vous n’avez pas besoin d’installer la bibliothèque spécifique d’Azure Cosmos DB for Apache Cassandra mentionnée ci-dessus.
Avertissement
Les exemples Spark 3 présentés dans cet article ont été testés avec la version 3.2.1 de Spark et le connecteur Spark Cassandra correspondant, com.datastax.spark:spark-cassandra-connector-assembly_2.12:3.2.0. Les versions ultérieures de Spark et/ou du connecteur Cassandra peuvent ne pas fonctionner comme prévu.
Exemples de notebooks
Une liste d’exemples de notebooks Azure Databricks est téléchargeable à partir du dépôt GitHub. Ces exemples montrent comment se connecter à Azure Cosmos DB for Apache Cassandra à partir de Spark et effectuer différentes opérations CRUD sur les données. Vous pouvez également importer tous les blocs-notes dans votre espace de travail du cluster Databricks, puis exécuter l’espace de travail.
Accès à Azure Cosmos DB for Apache Cassandra à partir de programmes Scala Spark
Les programmes Spark à exécuter en tant que processus automatisés sur Azure Databricks sont soumis au cluster au moyen du script spark-submit et planifiés pour être exécutés par le biais de travaux Azure Databricks.
Les liens suivants vous aident à vous familiariser avec la génération de programmes Scala Spark pour interagir avec Azure Cosmos DB for Apache Cassandra.
- Comment se connecter à Azure Cosmos DB for Apache Cassandra à partir d’un programme Scala Spark
- How to run a Spark Scala program as an automated job on Azure Databricks (Guide pratique pour exécuter un programme Scala Spark en tant que travail automatisé sur Azure Databricks)
- Liste complète d’exemples de code illustrant l’utilisation de l’API avec Cassandra
Étapes suivantes
Commencez par créer un compte API pour Cassandra, une base de données et une table à l’aide d’une application Java.