Доступ к данным Azure Cosmos DB для Apache Cassandra из Azure Databricks
Область применения: Кассандра
В этой статье описано, как работать с Azure Cosmos DB для Apache Cassandra из Spark в Azure Databricks.
Необходимые компоненты
Подготовка учетной записи Azure Cosmos DB для Apache Cassandra
Ознакомьтесь с основами подключения к Azure Cosmos DB для Apache Cassandra
Ознакомьтесь с примерами кода для работы с API для Cassandra
API для конфигурации экземпляра Cassandra для соединителя Cassandra:
Соединитель для API для Cassandra требует инициализации сведений о подключении Cassandra в рамках контекста Spark. При запуске записной книжки Databricks контекст Spark уже инициализирован, не рекомендуется останавливать и повторно инициализировать его. Одним из решений является добавление конфигурации API для экземпляра Cassandra на уровне кластера в конфигурацию spark кластера. Это разовое действие для каждого кластера. Добавьте в конфигурацию Spark следующий код как пару значений ключа, разделенных пробелами:
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
Добавление необходимых зависимостей
Соединитель Cassandra Spark. Чтобы интегрировать Azure Cosmos DB для Apache Cassandra с Spark, соединитель Cassandra должен быть подключен к кластеру Azure Databricks. Чтобы подключить кластер:
- Узнайте версию среды выполнения Databricks и версию Spark. Затем найдите координаты Maven, совместимые с соединителем Cassandra Spark, и подключите его к кластеру. См. статью "Отправка пакета Maven или пакета Spark", чтобы подключить библиотеку соединителя к кластеру. Мы рекомендуем выбрать среду выполнения Databricks версии 10.4 LTS, которая поддерживает Spark 3.2.1. Чтобы добавить соединитель Apache Spark Cassandra Connector, ваш кластер, выберите Библиотеки>Установить новое>Maven и добавьте строку
com.datastax.spark:spark-cassandra-connector-assembly_2.12:3.2.0
в координаты Maven. При использовании Spark 2.x мы рекомендуем применять среду с Spark версии 2.4.5 с помощью соединителя Spark в координатах Mavencom.datastax.spark:spark-cassandra-connector_2.11:2.4.3
.
- Узнайте версию среды выполнения Databricks и версию Spark. Затем найдите координаты Maven, совместимые с соединителем Cassandra Spark, и подключите его к кластеру. См. статью "Отправка пакета Maven или пакета Spark", чтобы подключить библиотеку соединителя к кластеру. Мы рекомендуем выбрать среду выполнения Databricks версии 10.4 LTS, которая поддерживает Spark 3.2.1. Чтобы добавить соединитель Apache Spark Cassandra Connector, ваш кластер, выберите Библиотеки>Установить новое>Maven и добавьте строку
Библиотека Azure Cosmos DB для Apache Cassandra. Если вы используете Spark 2.x, необходимо настроить политику повторных попыток из соединителя Cassandra Spark в Azure Cosmos DB для Apache Cassandra. Добавьте
com.microsoft.azure.cosmosdb:azure-cosmos-cassandra-spark-helper:1.2.0
координаты Maven для подключения библиотеки к кластеру.
Примечание.
Если вы используете Spark 3.x, вам не нужно устанавливать библиотеку Azure Cosmos DB для Apache Cassandra, описанную выше.
Предупреждение
Примеры для Spark 3 в этой статье протестированы с использованием Spark версии 3.2.1 и соответствующего соединителя Cassandra Spark com.datastax.spark:spark-cassandra-connector-assembly_2.12:3.2.0. Более поздние версии Spark и (или) соединителя Cassandra могут работать непредсказуемым образом.
Записные книжки с примерами
Список примеров записных книжек Azure Databricks доступен для скачивания в репозитории GitHub. Эти примеры включают подключение к Azure Cosmos DB для Apache Cassandra из Spark и выполнение различных операций CRUD с данными. Также можно импортировать все записные книжки в свою рабочую область кластера Databricks и запустить ее.
Доступ к Azure Cosmos DB для Apache Cassandra из программ Spark Scala
Программы Spark, выполняемые как автоматизированные процессы в Azure Databricks, передаются в кластер с помощью spark-submit) и планируются для выполнения с помощью заданий Azure Databricks.
Ниже приведены ссылки, помогающие приступить к созданию программ Spark Scala для взаимодействия с Azure Cosmos DB для Apache Cassandra.
- Подключение к Azure Cosmos DB для Apache Cassandra из программы Spark Scala
- Запуск программы Spark Scala как автоматического задания для Azure Databricks
- Полный список примеров кода для работы с API для Cassandra
Следующие шаги
Приступая к созданию API для учетной записи Cassandra, базы данных и таблицы с помощью приложения Java.