Zugreifen auf Azure Cosmos DB for Apache Cassandra-Daten über Azure Databricks
GILT FÜR: Cassandra
Dieser Artikel behandelt die Verwendung von Azure Cosmos DB for Apache Cassandra über Spark in Azure Databricks.
Voraussetzungen
Stellen Sie ein Azure Cosmos DB for Apache Cassandra-Konto bereit.
Überprüfen Grundlagen zum Herstellen einer Verbindung mit Azure Cosmos DB for Apache Cassandra
Überprüfen der Codebeispiele für die Arbeit mit der API für Cassandra
Konfiguration der API für Cassandra-Instanz für den Cassandra-Connector:
Der Connector für die API für Cassandra erfordert, dass die Details der Cassandra-Verbindung als Teil des Spark-Kontexts initialisiert werden. Beim Starten eines Databricks-Notebooks ist der Spark-Kontext bereits initialisiert, und es ist nicht ratsam, ihn zu beenden und erneut zu initialisieren. Eine Lösung ist, die Konfiguration der API-für-Cassandra-Instanz auf Clusterebene hinzuzufügen, in der Cluster-Spark-Konfiguration. Dies ist eine einmalige Aktivität pro Cluster. Fügen Sie der Spark-Konfiguration den folgenden Code als ein durch Leerzeichen getrenntes Schlüssel-Wert-Paar hinzu:
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
Hinzufügen der erforderlichen Abhängigkeiten
Cassandra-Spark-Connector: Zur Integration von Azure Cosmos DB for Apache Cassandra in Spark sollte der Cassandra-Connector an den Azure Databricks-Cluster angefügt werden. So fügen Sie das Cluster an:
- Überprüfen Sie die Version der Databricks Runtime, die Spark-Version. Suchen Sie dann die Maven-Koordinaten, die mit dem Cassandra-Spark-Connector kompatibel sind, und fügen Sie sie dem Cluster hinzu. Informationen zum Anfügen der Connector-Bibliothek an den Cluster finden Sie im Artikel Upload a Maven package or Spark package (Hochladen eines Maven- oder Spark-Pakets). Wir empfehlen die Auswahl der Version 10.4 LTS der Databricks-Runtime, die Spark 3.2.1 unterstützt. Wählen Sie Bibliotheken>Neu installieren>Maven aus, und fügen Sie dann
com.datastax.spark:spark-cassandra-connector-assembly_2.12:3.2.0
in den Maven-Koordinaten hinzu, um den Apache Spark Cassandra-Connector ihrem Cluster hinzuzufügen. Bei Verwendung von Spark 2.x wird eine Umgebung mit Spark-Version 2.4.5 empfohlen, in der der Spark-Connector bei den maven-Koordinatencom.datastax.spark:spark-cassandra-connector_2.11:2.4.3
verwendet wird.
- Überprüfen Sie die Version der Databricks Runtime, die Spark-Version. Suchen Sie dann die Maven-Koordinaten, die mit dem Cassandra-Spark-Connector kompatibel sind, und fügen Sie sie dem Cluster hinzu. Informationen zum Anfügen der Connector-Bibliothek an den Cluster finden Sie im Artikel Upload a Maven package or Spark package (Hochladen eines Maven- oder Spark-Pakets). Wir empfehlen die Auswahl der Version 10.4 LTS der Databricks-Runtime, die Spark 3.2.1 unterstützt. Wählen Sie Bibliotheken>Neu installieren>Maven aus, und fügen Sie dann
Spezifische Bibliothek für Azure Cosmos DB for Apache Cassandra: Wenn Sie Spark 2.x verwenden, ist eine benutzerdefinierte Verbindungsfactory erforderlich, um die Wiederholungsrichtlinie des Cassandra-Spark-Connectors für Azure Cosmos DB for Apache Cassandra zu konfigurieren. Fügen Sie die
com.microsoft.azure.cosmosdb:azure-cosmos-cassandra-spark-helper:1.2.0
Maven-Koordinaten hinzu, um die Bibliothek dem Cluster anzufügen.
Hinweis
Wenn Sie Spark 3.x verwenden, müssen Sie die oben genannte spezifische Bibliothek für Azure Cosmos DB for Apache Cassandra nicht installieren.
Warnung
Die in diesem Artikel gezeigten Spark 3-Beispiele wurden mit Spark Version 3.2.1 und dem entsprechenden Cassandra Spark-Connector com.datastax.spark:spark-cassandra-connector-assembly_2.12:3.2.0 getestet. Höhere Versionen von Spark und/oder dem Cassandra-Connector funktionieren möglicherweise nicht wie erwartet.
Beispiel-Notebooks
Eine Liste mit Azure Databricks-Beispiel-Notebooks steht im GitHub-Repository zum Download zur Verfügung. Diese Beispiele zeigen Ihnen, wie Sie über Spark eine Verbindung mit Azure Cosmos DB for Apache Cassandra herstellen und verschiedene CRUD-Vorgänge für die Daten ausführen. Sie können auch in Ihren Databricks-Clusterarbeitsbereich alle Notebooks importieren und dort ausführen.
Zugriff auf Azure Cosmos DB for Apache Cassandra von Spark Scala-Programmen aus
Als automatisierte Prozesse in Azure Databricks auszuführende Spark-Programme werden mit spark-submit an den Cluster gesendet und zum Ausführen über die Azure Databricks-Aufträge eingeplant.
Die folgenden Links sollen Ihnen Hilfe zum Einstieg in das Erstellen von Spark Scala-Programmen für die Interaktion mit Azure Cosmos DB for Apache Cassandra bieten:
- Verbinden mit Azure Cosmos DB for Apache Cassandra über ein Spark Scala-Programm
- Ausführen eines Spark Scala-Programms als automatisierter Auftrag in Azure Databricks
- Vollständige Liste der Codebeispiele für die Arbeit mit der API für Cassandra
Nächste Schritte
Erste Schritte mit dem Erstellen eines API für Cassandra-Kontos, einer Datenbank und einer Tabelle mithilfe einer Java-Anwendung