Toegang tot Azure Cosmos DB voor Apache Cassandra-gegevens vanuit Azure Databricks
VAN TOEPASSING OP: Cassandra
In dit artikel wordt beschreven hoe u kunt werken met Azure Cosmos DB voor Apache Cassandra vanuit Spark in Azure Databricks.
Vereisten
Een Azure Cosmos DB inrichten voor een Apache Cassandra-account
Bekijk de basisbeginselen van het maken van verbinding met Azure Cosmos DB voor Apache Cassandra
Bekijk de codevoorbeelden voor het werken met API voor Cassandra
API voor Cassandra-exemplaarconfiguratie voor Cassandra-connector:
Voor de connector voor API voor Cassandra moeten de Cassandra-verbindingsgegevens worden geïnitialiseerd als onderdeel van de Spark-context. Wanneer u een Databricks-notebook start, wordt de Spark-context al geïnitialiseerd en is het niet raadzaam om deze te stoppen en opnieuw te initialiseren. Een oplossing is het toevoegen van de API voor cassandra-exemplaarconfiguratie op clusterniveau, in de spark-configuratie van het cluster. Dit is eenmalige activiteit per cluster. Voeg de volgende code toe aan de Spark-configuratie als een door spaties gescheiden sleutelwaardepaar:
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
De vereiste afhankelijkheden toevoegen
Cassandra Spark-connector: : als u Azure Cosmos DB voor Apache Cassandra wilt integreren met Spark, moet de Cassandra-connector worden gekoppeld aan het Azure Databricks-cluster. Het cluster koppelen:
- Bekijk de Runtime-versie van Databricks, de Spark-versie. Zoek vervolgens de maven-coördinaten die compatibel zijn met de Cassandra Spark-connector en koppel deze aan het cluster. Zie het artikel 'Een Maven-pakket of Spark-pakket uploaden' om de connectorbibliotheek aan het cluster te koppelen. U wordt aangeraden Databricks Runtime versie 10.4 LTS te selecteren, die Ondersteuning biedt voor Spark 3.2.1. Als u de Apache Spark Cassandra-connector wilt toevoegen, selecteert u >Bibliotheken Nieuwe>Maven installeren en voegt u vervolgens Maven-coördinaten toe.
com.datastax.spark:spark-cassandra-connector-assembly_2.12:3.2.0
Als u Spark 2.x gebruikt, raden we een omgeving aan met Spark-versie 2.4.5, met behulp van spark-connector op maven-coördinatencom.datastax.spark:spark-cassandra-connector_2.11:2.4.3
.
- Bekijk de Runtime-versie van Databricks, de Spark-versie. Zoek vervolgens de maven-coördinaten die compatibel zijn met de Cassandra Spark-connector en koppel deze aan het cluster. Zie het artikel 'Een Maven-pakket of Spark-pakket uploaden' om de connectorbibliotheek aan het cluster te koppelen. U wordt aangeraden Databricks Runtime versie 10.4 LTS te selecteren, die Ondersteuning biedt voor Spark 3.2.1. Als u de Apache Spark Cassandra-connector wilt toevoegen, selecteert u >Bibliotheken Nieuwe>Maven installeren en voegt u vervolgens Maven-coördinaten toe.
Azure Cosmos DB voor Apache Cassandra-specifieke bibliotheek: - Als u Spark 2.x gebruikt, is een aangepaste verbindingsfactory vereist voor het configureren van het beleid voor opnieuw proberen van de Cassandra Spark-connector naar Azure Cosmos DB voor Apache Cassandra. Voeg de
com.microsoft.azure.cosmosdb:azure-cosmos-cassandra-spark-helper:1.2.0
maven-coördinaten toe om de bibliotheek aan het cluster toe te voegen.
Notitie
Als u Spark 3.x gebruikt, hoeft u de Azure Cosmos DB voor Apache Cassandra-specifieke bibliotheek die hierboven wordt vermeld, niet te installeren.
Waarschuwing
De Spark 3-voorbeelden die in dit artikel worden weergegeven, zijn getest met Spark-versie 3.2.1 en de bijbehorende Cassandra Spark-connector com.datastax.spark:spark-cassandra-connector-assembly_2.12:3.2.0. Latere versies van Spark en/of de Cassandra-connector werken mogelijk niet zoals verwacht.
Voorbeelden van notebooks
Er is een lijst met Azure Databricks-voorbeeldnotebooks beschikbaar in de GitHub-opslagplaats die u kunt downloaden. Deze voorbeelden omvatten hoe u vanuit Spark verbinding maakt met Azure Cosmos DB voor Apache Cassandra en verschillende CRUD-bewerkingen uitvoert op de gegevens. U kunt ook alle notebooks importeren in uw Databricks-clusterwerkruimte en deze uitvoeren.
Toegang tot Azure Cosmos DB voor Apache Cassandra vanuit Spark Scala-programma's
Spark-programma's die als geautomatiseerde processen in Azure Databricks moeten worden uitgevoerd, worden verzonden naar het cluster met behulp van spark-submit) en worden gepland om door de Azure Databricks-taken te worden uitgevoerd.
Hieronder vindt u koppelingen om Aan de slag te gaan met het bouwen van Spark Scala-programma's om te communiceren met Azure Cosmos DB voor Apache Cassandra.
- Verbinding maken met Azure Cosmos DB voor Apache Cassandra vanuit een Spark Scala-programma
- Een Spark Scala-programma uitvoeren als een geautomatiseerde taak in Azure Databricks
- Volledige lijst met codevoorbeelden voor het werken met API voor Cassandra
Volgende stappen
Ga aan de slag met het maken van een API voor Cassandra-account, -database en een tabel met behulp van een Java-toepassing.