Acceso a datos de Azure Cosmos DB for Apache Cassandra desde Azure Databricks
SE APLICA A: Cassandra
En este artículo se explica cómo trabajar con Azure Cosmos DB for Apache Cassandra desde Spark en Azure Databricks.
Prerrequisitos
Aprovisionamiento de una cuenta de Azure Cosmos DB for Apache Cassandra
Revisión de los ejemplos de código para trabajar con la API de Cassandra
Configuración de la instancia de API de Cassandra para el conector de Cassandra:
El conector para la API de Cassandra requiere que los detalles de la conexión de Cassandra se inicialicen como parte del contexto de Spark. Cuando inicia un cuaderno de Databricks, el contexto de Spark ya está inicializado y no es aconsejable pararlo y reiniciarlo. Una solución es agregar la configuración de la instancia de la API de Cassandra en un nivel de clúster, en la configuración de clúster de Spark. Esto se hace una sola vez por cada clúster. Agregue el código siguiente a la configuración de Spark como un par clave-valor separado por espacios:
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
Incorporación de las dependencias necesarias
Conector de Spark de Cassandra: para integrar Azure Cosmos DB for Apache Cassandra con Spark, se debe asociar el conector de Cassandra al clúster de Azure Databricks. Para asociar el clúster:
- Revise la versión del entorno de ejecución de Databricks y la versión de Spark. A continuación, busque las coordenadas de Maven que son compatibles con el conector de Spark de Cassandra y asócielas al clúster. Consulte el artículo "Upload a Maven package or Spark package" (Carga de un paquete de Maven o Spark) para asociar la biblioteca del conector al clúster. Se recomienda seleccionar el entorno de ejecución de Databricks versión 10.4 LTS, que admite Spark 3.2.1. Para agregar el conector de Cassandra de Apache Spark, su clúster, seleccione Bibliotecas>Instalar Nueva>Maven y, a continuación, agregue
com.datastax.spark:spark-cassandra-connector-assembly_2.12:3.2.0
en las coordenadas de Maven. Si usa Spark 2.x, se recomienda utilizar un entorno con la versión de Spark 2.4.5 y el conector de Spark en las coordenadas de Mavencom.datastax.spark:spark-cassandra-connector_2.11:2.4.3
.
- Revise la versión del entorno de ejecución de Databricks y la versión de Spark. A continuación, busque las coordenadas de Maven que son compatibles con el conector de Spark de Cassandra y asócielas al clúster. Consulte el artículo "Upload a Maven package or Spark package" (Carga de un paquete de Maven o Spark) para asociar la biblioteca del conector al clúster. Se recomienda seleccionar el entorno de ejecución de Databricks versión 10.4 LTS, que admite Spark 3.2.1. Para agregar el conector de Cassandra de Apache Spark, su clúster, seleccione Bibliotecas>Instalar Nueva>Maven y, a continuación, agregue
Biblioteca específica de Azure Cosmos DB for Apache Cassandra: si utiliza Spark 2.x, se requiere un generador de conexión personalizado para configurar la directiva de reintentos desde el conector de Spark de Cassandra a Azure Cosmos DB for Apache Cassandra. Agregue las
com.microsoft.azure.cosmosdb:azure-cosmos-cassandra-spark-helper:1.2.0
coordenadas de Maven para asociar la biblioteca al clúster.
Nota
Si usa Spark 3.x, no es necesario instalar la biblioteca específica de Azure Cosmos DB for Apache Cassandra mencionada anteriormente.
Advertencia
Los ejemplos de Spark 3 que se muestran en este artículo se han probado con la versión 3.2.1 de Spark y el conector de Cassandra Spark com.datastax.spark:spark-cassandra-connector-assembly_2.12:3.2.0 correspondiente. Es posible que las versiones posteriores de Spark o del conector de Cassandra no funcionen según lo previsto.
Cuadernos de ejemplo
Hay disponible una lista de cuadernos de ejemplo de Azure Databricks en el repositorio de GitHub para descarga. Estos ejemplos incluyen cómo conectarse a Azure Cosmos DB for Apache Cassandra desde Spark y realizar diferentes operaciones CRUD en los datos. También puede importar todos los cuadernos en el área de trabajo del clúster de Databricks y ejecutarlos.
Acceso con Azure Cosmos DB for Apache Cassandra desde los programas de Spark Scala
Los programas que se van a ejecutar como procesos automatizados de Azure Databricks se envían al clúster mediante spark-submit) y están programados para ejecutarse mediante los trabajos de Azure Databricks.
Los siguientes son vínculos que le ayudarán a empezar a compilar programas de Spark Scala para interactuar con Azure Cosmos DB for Apache Cassandra.
- Conexión a Azure Cosmos DB for Apache Cassandra desde un programa Spark Scala
- Ejecución de un programa de Spark Scala como un trabajo automatizado en Azure Databricks
- Lista completa de ejemplos de código para trabajar con la API de Cassandra
Pasos siguientes
Introducción a la creación de una cuenta de la API para Cassandra, una base de datos y una tabla mediante una aplicación de Java.