Руководство. Реализация Azure Databricks с помощью конечной точки Azure Cosmos DB
В этом руководстве описывается, как реализовать среду Databricks, внедренную в виртуальную сеть, с включенной конечной точкой службы для Azure Cosmos DB.
В этом руководстве вы узнаете, как выполнять следующие действия:
- Создание рабочей области Azure Databricks в виртуальной сети
- Создание конечной точки службы Azure Cosmos DB
- Создание учетной записи Azure Cosmos DB и импорт данных
- Создание кластера Azure Databricks
- Запрос Azure Cosmos DB из записной книжки Azure Databricks
Предварительные требования
Прежде чем начать, сделайте следующее:
Создайте рабочую область Azure Databricks в виртуальной сети.
Скачайте соединитель Spark.
Скачайте примеры данных из Национальных центров экологической информации NOAA. Выберите состояние или область и нажмите кнопку Поиск. На следующей странице примите значения по умолчанию и выберите Поиск. Затем выберите CSV-файл Скачать в левой части страницы, чтобы скачать результаты.
Скачайте предварительно скомпилированный двоичный файл средства миграции данных Azure Cosmos DB.
Создание конечной точки службы Azure Cosmos DB
После развертывания рабочей области Azure Databricks в виртуальной сети перейдите к виртуальной сети в портал Azure. Обратите внимание на общедоступные и частные подсети, созданные с помощью развертывания Databricks.
Выберите общедоступную подсеть и создайте конечную точку службы Azure Cosmos DB. Затем Сохраните.
Создание учетной записи Azure Cosmos DB
Откройте портал Azure. В левой верхней части экрана выберите Создать ресурс > Базы данных > Azure Cosmos DB.
Заполните сведения об экземпляре на вкладке Основные сведения со следующими параметрами:
Параметр Значение Подписки ваша подписка Группа ресурсов группа ресурсов; Имя учетной записи db-vnet-service-endpoint API Core (SQL) Расположение Западная часть США Geo-Redundancy Отключить Операции записи в нескольких регионах Включить Перейдите на вкладку Сеть и настройте виртуальную сеть.
a. Выберите созданную виртуальную сеть в качестве необходимого компонента, а затем выберите общедоступную подсеть. Обратите внимание, что в частной подсетиотсутствует конечная точка Microsoft AzureCosmosDB. Это связано с тем, что вы включили только конечную точку службы Azure Cosmos DB в общедоступной подсети.
B. Убедитесь, что включен параметр Разрешить доступ из портал Azure. Этот параметр позволяет получить доступ к учетной записи Azure Cosmos DB из портал Azure. Если для этого параметра задано значение Запретить, при попытке доступа к учетной записи будут возникать ошибки.
Примечание
В этом руководстве нет необходимости, но вы также можете включить параметр Разрешить доступ с моего IP-адреса , если вы хотите получить доступ к учетной записи Azure Cosmos DB с локального компьютера. Например, если вы подключаетесь к учетной записи с помощью пакета SDK для Azure Cosmos DB, необходимо включить этот параметр. Если он отключен, вы получите сообщение об ошибке "Отказано в доступе".
Выберите Просмотр и создание, а затем Создать , чтобы создать учетную запись Azure Cosmos DB в виртуальной сети.
После создания учетной записи Azure Cosmos DB перейдите к разделу Ключи в разделе Параметры. Скопируйте основную строку подключения и сохраните ее в текстовом редакторе для последующего использования.
Выберите Data Explorer и Новый контейнер, чтобы добавить новую базу данных и контейнер в учетную запись Azure Cosmos DB.
Отправка данных в Azure Cosmos DB
Откройте версию графического интерфейса средства переноса данных для Azure Cosmos DBDtui.exe.
На вкладке Сведения об источнике выберите CSV-файлы в раскрывающемся списке Импорт из . Затем выберите Добавить файлы и добавьте скачанный CSV-файл данных storm в качестве необходимого компонента.
На вкладке Сведения о целевом объекте введите строку подключения. Формат строки подключения —
AccountEndpoint=<URL>;AccountKey=<key>;Database=<database>
. AccountEndpoint и AccountKey включены в основную строку подключения, сохраненную в предыдущем разделе. ДобавьтеDatabase=<your database name>
в конец строки подключения и выберите Проверить. Затем добавьте имя контейнера и ключ секции.Нажимайте кнопку Далее , пока не перейдете на страницу Сводка. Затем выберите Импорт.
Создание кластера и добавление библиотеки
Перейдите к службе Azure Databricks в портал Azure и выберите Запустить рабочую область.
Создайте новый кластер. Выберите имя кластера и примите остальные параметры по умолчанию.
После создания кластера перейдите на страницу кластера и выберите вкладку Библиотеки . Выберите Установить новый и отправьте JAR-файл соединителя Spark, чтобы установить библиотеку.
Убедиться, что библиотека установлена, можно на вкладке Библиотеки .
Запрос Azure Cosmos DB из записной книжки Databricks
Перейдите в рабочую область Azure Databricks и создайте записную книжку Python.
Выполните следующий код Python, чтобы задать конфигурацию подключения Azure Cosmos DB. Соответствующим образом измените конечную точку, главный ключ, базу данных и контейнер .
connectionConfig = { "Endpoint" : "https://<your Azure Cosmos DB account name.documents.azure.com:443/", "Masterkey" : "<your Azure Cosmos DB primary key>", "Database" : "<your database name>", "preferredRegions" : "West US 2", "Container": "<your container name>", "schema_samplesize" : "1000", "query_pagesize" : "200000", "query_custom" : "SELECT * FROM c" }
Используйте следующий код Python для загрузки данных и создания временного представления.
users = spark.read.format("com.microsoft.azure.cosmosdb.spark").options(**connectionConfig).load() users.createOrReplaceTempView("storm")
Используйте следующую магическую команду, чтобы выполнить инструкцию SQL, которая возвращает данные.
%sql select * from storm
Вы успешно подключили рабочую область Databricks, внедренную в виртуальную сеть, к ресурсу Azure Cosmos DB с поддержкой конечной точки службы. Дополнительные сведения о подключении к Azure Cosmos DB см. в статье Соединитель Azure Cosmos DB для Apache Spark.
Очистка ресурсов
Если она больше не нужна, удалите группу ресурсов, рабочую область Azure Databricks и все связанные ресурсы. Удаление задания позволяет избежать ненужного выставления счетов. Если вы планируете использовать рабочую область Azure Databricks в будущем, можно остановить кластер и перезапустить его позже. Если вы не собираетесь продолжать использовать эту рабочую область Azure Databricks, удалите все ресурсы, созданные в этом руководстве, выполнив следующие действия.
В меню слева в портал Azure щелкните Группы ресурсов, а затем выберите имя созданной группы ресурсов.
На странице группы ресурсов выберите Удалить, введите имя удаляемого ресурса в текстовом поле и нажмите кнопку Удалить еще раз.
Дальнейшие действия
В этом руководстве вы развернули рабочую область Azure Databricks в виртуальной сети и использовали соединитель Spark Azure Cosmos DB для запроса данных Azure Cosmos DB из Databricks. Дополнительные сведения о работе с Azure Databricks в виртуальной сети см. в руководстве по использованию SQL Server с Azure Databricks.