Acessar dados do Azure Cosmos DB para Apache Cassandra do Azure Databricks
APLICA-SE A: Cassandra
Este artigo detalha como trabalhar com o Azure Cosmos DB para Apache Cassandra do Spark no Azure Databricks.
Pré-requisitos
Provisionar uma conta do Azure Cosmos DB para Apache Cassandra
Revise as noções básicas de conexão com o Azure Cosmos DB para Apache Cassandra
Revise os exemplos de código para trabalhar com a API para Cassandra
API para configuração de instância Cassandra para conector Cassandra:
O conector da API para Cassandra requer que os detalhes da conexão Cassandra sejam inicializados como parte do contexto de faísca. Quando você inicia um bloco de anotações Databricks, o contexto de faísca já está inicializado e não é aconselhável pará-lo e reinicializá-lo. Uma solução é adicionar a API para configuração de instância Cassandra em um nível de cluster, na configuração de faísca de cluster. É uma atividade única por cluster. Adicione o seguinte código à configuração do Spark como um par de valores de chave separados por espaço:
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
Adicionar as dependências necessárias
Conector Cassandra Spark: - Para integrar o Azure Cosmos DB para Apache Cassandra com o Spark, o conector Cassandra deve ser anexado ao cluster Azure Databricks. Para anexar o cluster:
- Analise a versão de tempo de execução do Databricks, a versão do Spark. Em seguida, encontre as coordenadas maven que são compatíveis com o conector Cassandra Spark e anexe-o ao cluster. Consulte o artigo "Carregar um pacote Maven ou um pacote Spark" para anexar a biblioteca de conectores ao cluster. Recomendamos selecionar Databricks runtime version 10.4 LTS, que suporta o Spark 3.2.1. Para adicionar o Apache Spark Cassandra Connector, seu cluster, selecione Libraries>Install New>Maven e adicione
com.datastax.spark:spark-cassandra-connector-assembly_2.12:3.2.0
as coordenadas Maven. Se estiver usando o Spark 2.x, recomendamos um ambiente com o Spark versão 2.4.5, usando o conector de faísca nas coordenadascom.datastax.spark:spark-cassandra-connector_2.11:2.4.3
maven.
- Analise a versão de tempo de execução do Databricks, a versão do Spark. Em seguida, encontre as coordenadas maven que são compatíveis com o conector Cassandra Spark e anexe-o ao cluster. Consulte o artigo "Carregar um pacote Maven ou um pacote Spark" para anexar a biblioteca de conectores ao cluster. Recomendamos selecionar Databricks runtime version 10.4 LTS, que suporta o Spark 3.2.1. Para adicionar o Apache Spark Cassandra Connector, seu cluster, selecione Libraries>Install New>Maven e adicione
Biblioteca específica do Azure Cosmos DB para Apache Cassandra: - Se você estiver usando o Spark 2.x, uma fábrica de conexões personalizada será necessária para configurar a política de repetição do conector Cassandra Spark para o Azure Cosmos DB para Apache Cassandra. Adicione as
com.microsoft.azure.cosmosdb:azure-cosmos-cassandra-spark-helper:1.2.0
coordenadas maven para anexar a biblioteca ao cluster.
Nota
Se você estiver usando o Spark 3.x, não precisará instalar a biblioteca específica do Azure Cosmos DB para Apache Cassandra mencionada acima.
Aviso
Os exemplos do Spark 3 mostrados neste artigo foram testados com o Spark versão 3.2.1 e o correspondente Cassandra Spark Connector com.datastax.spark:spark-cassandra-connector-assembly_2.12:3.2.0. Versões posteriores do Spark e/ou do conector Cassandra podem não funcionar como esperado.
Blocos de notas de exemplo
Uma lista de blocos de anotações de exemplo do Azure Databricks está disponível no repositório GitHub para download. Esses exemplos incluem como se conectar ao Azure Cosmos DB para Apache Cassandra a partir do Spark e executar diferentes operações CRUD nos dados. Você também pode importar todos os blocos de anotações para o espaço de trabalho do cluster Databricks e executá-lo.
Aceder ao Azure Cosmos DB para Apache Cassandra a partir de programas Spark Scala
Os programas Spark a serem executados como processos automatizados no Azure Databricks são enviados ao cluster usando spark-submit) e agendados para serem executados nos trabalhos do Azure Databricks.
A seguir estão links para ajudá-lo a começar a criar programas Spark Scala para interagir com o Azure Cosmos DB para Apache Cassandra.
- Como conectar-se ao Azure Cosmos DB para Apache Cassandra a partir de um programa Spark Scala
- Como executar um programa Spark Scala como um trabalho automatizado no Azure Databricks
- Lista completa de exemplos de código para trabalhar com API para Cassandra
Próximos passos
Comece a criar uma API para a conta Cassandra, banco de dados e uma tabela usando um aplicativo Java.