Создание внешнего расположения для подключения облачного хранилища к Azure Databricks

В этой статье описывается настройка внешнего расположения в каталоге Unity для подключения облачного хранилища к Azure Databricks.

Внешние расположения связывают учетные данные хранилища каталога Unity с контейнерами облачного хранилища объектов. Внешние расположения используются для определения управляемых расположений хранилища для каталогов и схем, а также для определения расположений для внешних таблиц и внешних томов.

Вы можете создать внешнее расположение, которое ссылается на хранилище в контейнере хранилища Azure Data Lake Storage 2-го поколения или контейнере Cloudflare R2.

Вы можете создать внешнее расположение с помощью Обозреватель каталога, интерфейса командной строки Databricks, команд SQL в записной книжке или SQL-запросе Databricks или Terraform.

Примечание.

При определении тома облачный URI-код ресурса (URI) к данным в пути тома регулируется разрешениями тома.

Перед началом работы

Необходимые условия:

Требования к разрешениям:

  • У вас должны быть CREATE EXTERNAL LOCATION права на хранилище метаданных и учетные данные хранилища, на которые ссылается внешнее расположение. Администраторы хранилища метаданных имеют CREATE EXTERNAL LOCATION хранилище метаданных по умолчанию.

Создание внешнего расположения с помощью Обозреватель каталога

Внешнее расположение можно создать вручную с помощью Обозреватель каталога.

Разрешения и предварительные требования: см. статью "Перед началом работы".

Чтобы создать внешнее расположение, выполните следующие действия.

  1. Войдите в рабочую область, подключенную к хранилищу метаданных.

  2. На боковой панели щелкните Значок каталога"Каталог".

  3. Нажмите кнопку +Добавить и выберите "Добавить внешнее расположение".

  4. Введите имя внешнего расположения.

  5. При необходимости скопируйте путь контейнера из существующей точки подключения (только Azure Data Lake Storage 2-го поколения контейнеров).

  6. Если вы не копируете из существующей точки подключения, используйте поле URL-адреса , чтобы ввести путь к контейнеру хранилища или путь к контейнеру R2, который вы хотите использовать в качестве внешнего расположения.

    Например, abfss://my-container-name@my-storage-account.dfs.core.windows.net/<path> или r2://my-bucket@my-account-id.r2.cloudflarestorage.com/<path>.

  7. Выберите учетные данные хранилища, которые предоставляют доступ к внешнему расположению.

  8. (Необязательно) Если у пользователей есть доступ только для чтения к внешнему расположению, нажмите кнопку "Дополнительные параметры " и выберите " Только чтение". Дополнительные сведения см. в разделе "Пометить внешнее расположение как доступное только для чтения".

  9. Нажмите кнопку Создать.

  10. Предоставьте разрешение на использование внешнего расположения.

    Чтобы любой пользователь мог использовать внешнее расположение, необходимо предоставить разрешения:

    • Чтобы использовать внешнее расположение для добавления управляемого хранилища в хранилище метаданных, каталог или схему, предоставьте этому привилегию CREATE MANAGED LOCATION .
    • Создание внешних таблиц или томов, предоставление CREATE EXTERNAL TABLE или CREATE EXTERNAL VOLUME.

    Чтобы использовать Обозреватель каталога для предоставления разрешений:

    1. Щелкните имя внешнего расположения, чтобы открыть область сведений.
    2. На вкладке "Разрешения" нажмите кнопку "Предоставить".
    3. В диалоговом окне "Предоставление"<external location>выберите пользователей, группы или субъекты-службы в поле "Субъекты" и выберите привилегию, которую вы хотите предоставить.
    4. Нажмите кнопку "Предоставить".

Создание внешнего расположения с помощью SQL

Чтобы создать внешнее расположение с помощью SQL, выполните следующую команду в записной книжке или редакторе sql-запросов. Замените значения заполнителей.

Разрешения и предварительные требования: см. статью "Перед началом работы".

  • <location-name>: имя внешнего расположения. Если location_name он включает специальные символы, например дефисы (-), он должен быть окружен обратными знаками (` `). См . имена.

  • <bucket-path>: путь в облачном клиенте, к которому это внешнее расположение предоставляет доступ. Например, abfss://my-container-name@my-storage-account.dfs.core.windows.net/<path> или r2://my-bucket@my-account-id.r2.cloudflarestorage.com/<path>.

  • <storage-credential-name>: имя учетных данных хранения, которые разрешают чтение и запись в контейнер хранилища или путь к контейнеру хранилища. Если имя учетных данных хранилища содержит специальные символы, например дефисы (-), он должен быть окружен обратными знаками (` `).

CREATE EXTERNAL LOCATION [IF NOT EXISTS] `<location-name>`
URL '<bucket-path>'
WITH ([STORAGE] CREDENTIAL `<storage-credential-name>`)
[COMMENT '<comment-string>'];

Следующие шаги