Руководство. Реализация 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 Cosmos DB

  1. После развертывания рабочей области Azure Databricks в виртуальной сети перейдите к виртуальной сети в портал Azure. Обратите внимание на общедоступные и частные подсети, созданные с помощью развертывания Databricks.

  2. Выберите общедоступную подсеть и создайте конечную точку службы Azure Cosmos DB. Затем Сохраните.

    Добавление конечной точки службы Cosmos DB

Создание учетной записи Azure Cosmos DB

  1. Откройте портал Azure. В левой верхней части экрана выберите Создать ресурс > Базы данных > Azure Cosmos DB.

  2. Заполните сведения об экземпляре на вкладке Основные сведения со следующими параметрами:

    Параметр Значение
    Подписки ваша подписка
    Группа ресурсов группа ресурсов;
    Имя учетной записи db-vnet-service-endpoint
    API Core (SQL)
    Расположение Западная часть США
    Geo-Redundancy Отключить
    Операции записи в нескольких регионах Включить

    Добавление основных сведений об учетной записи Cosmos DB

  3. Перейдите на вкладку Сеть и настройте виртуальную сеть.

    a. Выберите созданную виртуальную сеть в качестве необходимого компонента, а затем выберите общедоступную подсеть. Обратите внимание, что в частной подсетиотсутствует конечная точка Microsoft AzureCosmosDB. Это связано с тем, что вы включили только конечную точку службы Azure Cosmos DB в общедоступной подсети.

    B. Убедитесь, что включен параметр Разрешить доступ из портал Azure. Этот параметр позволяет получить доступ к учетной записи Azure Cosmos DB из портал Azure. Если для этого параметра задано значение Запретить, при попытке доступа к учетной записи будут возникать ошибки.

    Примечание

    В этом руководстве нет необходимости, но вы также можете включить параметр Разрешить доступ с моего IP-адреса , если вы хотите получить доступ к учетной записи Azure Cosmos DB с локального компьютера. Например, если вы подключаетесь к учетной записи с помощью пакета SDK для Azure Cosmos DB, необходимо включить этот параметр. Если он отключен, вы получите сообщение об ошибке "Отказано в доступе".

    Параметры сети учетной записи Cosmos DB

  4. Выберите Просмотр и создание, а затем Создать , чтобы создать учетную запись Azure Cosmos DB в виртуальной сети.

  5. После создания учетной записи Azure Cosmos DB перейдите к разделу Ключи в разделе Параметры. Скопируйте основную строку подключения и сохраните ее в текстовом редакторе для последующего использования.

    Страница ключей учетной записи Cosmos DB

  6. Выберите Data Explorer и Новый контейнер, чтобы добавить новую базу данных и контейнер в учетную запись Azure Cosmos DB.

    Новая коллекция Cosmos DB

Отправка данных в Azure Cosmos DB

  1. Откройте версию графического интерфейса средства переноса данных для Azure Cosmos DBDtui.exe.

    Средство переноса данных Cosmos DB

  2. На вкладке Сведения об источнике выберите CSV-файлы в раскрывающемся списке Импорт из . Затем выберите Добавить файлы и добавьте скачанный CSV-файл данных storm в качестве необходимого компонента.

    Сведения об источнике средства миграции данных Cosmos DB

  3. На вкладке Сведения о целевом объекте введите строку подключения. Формат строки подключения — AccountEndpoint=<URL>;AccountKey=<key>;Database=<database>. AccountEndpoint и AccountKey включены в основную строку подключения, сохраненную в предыдущем разделе. Добавьте Database=<your database name> в конец строки подключения и выберите Проверить. Затем добавьте имя контейнера и ключ секции.

    Сведения о целевом объекте средства миграции данных Cosmos DB

  4. Нажимайте кнопку Далее , пока не перейдете на страницу Сводка. Затем выберите Импорт.

Создание кластера и добавление библиотеки

  1. Перейдите к службе Azure Databricks в портал Azure и выберите Запустить рабочую область.

  2. Создайте новый кластер. Выберите имя кластера и примите остальные параметры по умолчанию.

    Новые параметры кластера

  3. После создания кластера перейдите на страницу кластера и выберите вкладку Библиотеки . Выберите Установить новый и отправьте JAR-файл соединителя Spark, чтобы установить библиотеку.

    Установка библиотеки соединителей Spark

    Убедиться, что библиотека установлена, можно на вкладке Библиотеки .

    Вкладка

Запрос Azure Cosmos DB из записной книжки Databricks

  1. Перейдите в рабочую область Azure Databricks и создайте записную книжку Python.

    Создание записной книжки Databricks

  2. Выполните следующий код 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"
    }
    
  3. Используйте следующий код Python для загрузки данных и создания временного представления.

    users = spark.read.format("com.microsoft.azure.cosmosdb.spark").options(**connectionConfig).load()
    users.createOrReplaceTempView("storm")
    
  4. Используйте следующую магическую команду, чтобы выполнить инструкцию SQL, которая возвращает данные.

    %sql
    select * from storm
    

    Вы успешно подключили рабочую область Databricks, внедренную в виртуальную сеть, к ресурсу Azure Cosmos DB с поддержкой конечной точки службы. Дополнительные сведения о подключении к Azure Cosmos DB см. в статье Соединитель Azure Cosmos DB для Apache Spark.

Очистка ресурсов

Если она больше не нужна, удалите группу ресурсов, рабочую область Azure Databricks и все связанные ресурсы. Удаление задания позволяет избежать ненужного выставления счетов. Если вы планируете использовать рабочую область Azure Databricks в будущем, можно остановить кластер и перезапустить его позже. Если вы не собираетесь продолжать использовать эту рабочую область Azure Databricks, удалите все ресурсы, созданные в этом руководстве, выполнив следующие действия.

  1. В меню слева в портал Azure щелкните Группы ресурсов, а затем выберите имя созданной группы ресурсов.

  2. На странице группы ресурсов выберите Удалить, введите имя удаляемого ресурса в текстовом поле и нажмите кнопку Удалить еще раз.

Дальнейшие действия

В этом руководстве вы развернули рабочую область Azure Databricks в виртуальной сети и использовали соединитель Spark Azure Cosmos DB для запроса данных Azure Cosmos DB из Databricks. Дополнительные сведения о работе с Azure Databricks в виртуальной сети см. в руководстве по использованию SQL Server с Azure Databricks.