Поделиться через


Создание и управление ресурсами для Delta Sharing

На этой странице объясняется, как создавать и управлять долями в Delta Sharing.

Общая папка — это защищаемый объект в каталоге Unity, который можно использовать для совместного использования следующих ресурсов данных с одним или несколькими получателями:

  • Таблицы и разделы таблиц
  • Таблицы потоков
  • Представления, включая динамические представления, ограничивающие доступ на уровне строк и столбцов
  • Материализованные представления
  • Объемы
  • Записные книжки
  • Модели ИИ

Если вы предоставляете всю схему (базу данных), получатель может получить доступ ко всем таблицам, потоковым таблицам, представлениям, материализованным представлениям, моделям и томам в схеме в момент, когда вы ее предоставляете, а также к любым данным и ресурсам ИИ, добавленным в схему в будущем.

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

Перед созданием объекта совместного доступа убедитесь, что вы настроили Delta Sharing для вашей учетной записи (для поставщиков).

Дополнительные сведения о модели общего доступа см. в статье "Общие папки", "Поставщики" и "Получатели".

Требования

Чтобы создать общую папку, необходимо:

  • Будьте администратором хранилища метаданных или иметь CREATE SHARE привилегии для хранилища метаданных каталога Unity, где зарегистрированы данные, к которым вы хотите предоставить общий доступ.
  • Создайте общий доступ с помощью рабочей области Azure Databricks, к которой подключено хранилище метаданных Unity Catalog.

Чтобы добавить таблицы, потоковые таблицы, представления или материализованные представления в общую папку, необходимо выполнить следующие действия:

  • Будьте владельцем акций.
  • Имейте привилегии USE CATALOG и USE SCHEMA на каталог и схему, содержащие таблицу, потоковую таблицу, представление или материализованное представление, или владейте каталогом или схемой.
  • Иметь привилегии SELECT на таблицу, потоковую таблицу, представление или материализованное представление. Для продолжения общего доступа к ресурсу необходимо сохранить эту привилегию. Если вы потеряете его, получатель не может получить доступ к ресурсу через общую папку. Databricks рекомендует назначить группу владельцем общего ресурса.

Чтобы добавить тома к общему ресурсу, необходимо:

  • Будьте владельцем акций.
  • Иметь привилегии USE CATALOG и USE SCHEMA на каталог и схему, содержащие том, или быть владельцем каталога или схемы.
  • У вас есть привилегии READ VOLUME над томом. Для продолжения общего доступа к диску необходимо сохранить эту привилегию. Если вы его потеряете, получатель не сможет получить доступ к диску через общий доступ. Databricks рекомендует назначить группу владельцем общего ресурса.

Чтобы добавить модели в общий ресурс, необходимо:

  • Будьте владельцем акций.
  • Обладать привилегиями USE CATALOG и USE SCHEMA на каталог и схему, содержащие модель, или владеть каталогом или схемой.
  • Обладайте привилегиями на модель EXECUTE. Для того чтобы модель продолжала быть доступной, необходимо сохранить эту привилегию. Если вы потеряете его, получатель не может получить доступ к модели через общий доступ. Databricks рекомендует назначить группу владельцем общего ресурса.

Чтобы предоставить общий доступ ко всей схеме, необходимо:

  • Быть акционером и владельцем схемы или иметь USE SCHEMA.
  • Для общего доступа к таблицам SELECT должно присутствовать в схеме.
  • Используйте READ VOLUME, чтобы предоставить общий доступ к томам.

Чтобы добавить файлы записной книжки для общего доступа, необходимо:

  • Владелец доли с разрешением на чтение в электронном блокноте.

Чтобы предоставить получателю доступ к ресурсу, вы должны быть одним из следующих:

  • Администратор хранилища метаданных.
  • Пользователь с делегированными разрешениями или правами владения как на разделяемом объекте, так и на объектах для получателя ((USE SHARE + SET SHARE PERMISSION) или собственник разделяемого объекта) И (USE RECIPIENT или собственник объекта получателя).

Для просмотра общих папок необходимо быть одним из следующих:

  • Администратор хранилища метаданных (может просмотреть все)
  • Пользователь с привилегиями USE SHARE (может просмотреть все)
  • Владелец объекта долевого участия

Требования к вычислениям:

  • Если вы используете записную книжку Databricks для создания общей записи, вычислительный ресурс должен использовать Databricks Runtime 11.3 LTS или более поздней версии и иметь стандартный или выделенный режим доступа (ранее общий и для одного пользователя).
  • Если вы используете инструкции SQL для добавления схемы в общую папку (или обновления или удаления схемы), необходимо использовать хранилище SQL или вычислительные ресурсы, работающие под управлением Databricks Runtime 13.3 LTS или более поздней версии. Выполнение этого же действия с помощью обозревателя каталогов не имеет требований к вычислениям.

Создайте объект общего доступа

Чтобы создать общую папку, можно использовать обозреватель каталогов, интерфейс командной строки каталога Databricks Unity или CREATE SHARE команду SQL в записной книжке Azure Databricks или редакторе sql-запросов Databricks.

Необходимые разрешения: администратор хранилища метаданных или пользователь с CREATE SHARE привилегиями для хранилища метаданных.

Обозреватель каталогов

  1. В рабочей области Azure Databricks щелкните значок данных.Каталог.

  2. В верхней части области каталога щелкните значок Шестеренки. Значок шестеренки и выберите Delta Sharing.

    Кроме того, на странице Быстрый доступ нажмите кнопку Delta Sharing >.

  3. На вкладке «Предоставлено мной» нажмите кнопку «Поделиться данными».

  4. На странице Создание общего ресурса введите название общего ресурса и необязательный комментарий.

  5. Нажмите кнопку "Сохранить" и продолжить.

    Вы можете продолжать добавлять ресурсы данных или останавливаться и возвращаться позже.

  6. На вкладке "Добавление ресурсов данных " выберите таблицы, потоковую передачу таблиц, тома, представления, материализованные представления и модели, к которым вы хотите предоставить общий доступ.

    Подробные инструкции см. в следующих разделах:

  7. Нажмите кнопку "Сохранить" и продолжить.

  8. На вкладке "Добавление записных книжек" выберите записные книжки , к которым вы хотите предоставить общий доступ.

    Подробные инструкции см. в разделе "Добавление файлов записной книжки в общую папку".

  9. Нажмите кнопку "Сохранить" и продолжить.

  10. На вкладке "Добавление получателей" выберите получателей , с которыми вы хотите поделиться.

    Подробные инструкции см. в разделе "Управление доступом к общим папкам данных Delta Sharing" (для поставщиков).

  11. Щелкните "Поделиться данными ", чтобы предоставить общий доступ к данным получателям.

SQL

Выполните следующую команду в записной книжке или редакторе sql-запросов Databricks:

CREATE SHARE [IF NOT EXISTS] <share-name>
[COMMENT "<comment>"];

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

Подробные инструкции см. в следующих разделах:

Интерфейс командной строки (CLI)

Выполните следующую команду с помощью Databricks интерфейса командной строки.

databricks shares create <share-name>

Вы можете использовать --comment для добавления комментария или --json для добавления ресурсов в общий доступ. Дополнительные сведения см. в следующих разделах.

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

Подробные инструкции см. в следующих разделах:

Добавление таблиц в общую папку

Чтобы добавить таблицы в общую папку, можно использовать обозреватель каталогов, интерфейс командной строки каталога Databricks Unity или команды SQL в записной книжке Azure Databricks или редакторе sql-запросов Databricks.

Примечание.

Примечания к таблицам, комментарии к столбцам и ограничения первичного ключа включаются в общие ресурсы, которые предоставляются получателю при обмене с помощью Databricks to Databricks после 25 июля 2024 года или позже. Если вы хотите начать делиться комментариями и ограничениями через общий доступ, предоставленный получателю до даты выпуска, необходимо отозвать и повторно предоставить получателю доступ, чтобы инициировать обмен комментариями и ограничениями.

Необходимые разрешения: владелец объекта общего доступа, USE CATALOG и USE SCHEMA на каталог и схему, содержащие таблицу, и SELECT привилегии на таблицу. Необходимо сохранить привилегию до тех пор, пока вы хотите предоставить общий SELECT доступ к таблице. Дополнительные сведения см. в разделе "Требования".

Примечание.

Если вы являетесь администратором рабочей области и унаследовали разрешения USE SCHEMA и USE CATALOG на схему и каталог, содержащие таблицу, из группы администраторов рабочей области, то вы не можете добавить таблицу в общий доступ. Сначала необходимо предоставить себе разрешения на схему и каталог: USE SCHEMA и USE CATALOG.

Обозреватель каталогов

  1. В рабочей области Azure Databricks щелкните значок данных.Каталог.

  2. В верхней части области каталога щелкните значок Шестеренки. Значок шестеренки и выберите Delta Sharing.

    Кроме того, на странице Быстрый доступ нажмите кнопку Delta Sharing >.

  3. На вкладке "Предоставленные мной" найдите общий ресурс, к которому нужно добавить таблицу, и щелкните его название.

  4. Нажмите кнопку "Управление ресурсами > " "Добавить ресурсы данных".

  5. На странице "Добавление таблиц " выберите всю схему (базу данных) или отдельные таблицы.

    • Чтобы выбрать таблицу или представление, сначала выберите каталог, а затем схему, содержащую таблицу, а затем саму таблицу или представление.

      Таблицы можно найти по имени, имени столбца или примечания с помощью поиска рабочей области. См. статью "Поиск объектов рабочей области".

    • Чтобы выбрать схему, сначала выберите каталог, а затем схему.

      Подробные сведения о схемах общего доступа см. в разделе "Добавление схем в общую папку".

  6. История. Общий доступ к истории таблицы, позволяющий получателям выполнять запросы исторических данных или читать таблицу с помощью структурированной потоковой передачи Spark. Для обмена объектами Databricks-to-Databricks журнал Delta таблицы также передаётся для повышения производительности. См. статью "Улучшение производительности чтения таблиц с помощью общего доступа к журналу". Для общего доступа к журналам требуется Databricks Runtime 12.2 LTS или более поздней версии.

    Примечание.

    Если вы также хотите, чтобы клиенты могли запрашивать поток данных об изменениях таблицы (CDF) с помощью функции table_changes(), перед тем как предоставить общий доступ, необходимо включить CDF для таблицы.

  7. (Необязательно) Щелкните значок, чтобы добавить тег столбца или комментарий в столбцах Alias или Parition , чтобы добавить псевдоним или секцию. Псевдонимы и разделы недоступны, если выбрать всю схему. Журнал таблиц включается по умолчанию, если выбрать всю схему.

  8. Нажмите кнопку "Сохранить".

SQL

Выполните следующую команду в записной книжке или редакторе sql-запросов Databricks, чтобы добавить таблицу:

ALTER SHARE <share-name> ADD TABLE <catalog-name>.<schema-name>.<table-name>  [COMMENT "<comment>"]
   [PARTITION(<clause>)] [AS <alias>]
   [WITH HISTORY | WITHOUT HISTORY];

Выполните следующую команду, чтобы добавить всю схему. Для ADD SCHEMA выполнения команды требуется хранилище SQL или вычислительные ресурсы, работающие под управлением Databricks Runtime 13.3 LTS или более поздней версии. Подробные сведения о схемах общего доступа см. в разделе "Добавление схем в общую папку".

ALTER SHARE <share-name> ADD SCHEMA <catalog-name>.<schema-name>
[COMMENT "<comment>"];

Ниже приведены варианты. PARTITION и AS <alias> недоступны, если выбрать всю схему.

  • PARTITION(<clause>): если вы хотите предоставить общий доступ только к части таблицы, можно указать секцию. Например, см. также (column = 'value')укажите разделы таблиц для общего доступаи используйте свойства получателя для фильтрации разделов.

  • AS <alias>: альтернативное имя таблицы или псевдоним , чтобы сделать имя таблицы более читаемым. Псевдоним — это имя таблицы, которое получатель видит и должен использовать в запросах. Получатели не могут использовать фактическое имя таблицы, если указан псевдоним. Используйте формат <schema-name>.<table-name>.

  • WITH HISTORY или WITHOUT HISTORY: если WITH HISTORY указано, поделитесь таблицей с полной историей, позволяя получателям выполнять временные запросы и потоковое чтение. Для Databricks-to-Databricks совместного использования также осуществляется передача журнала изменений таблицы Delta, чтобы повысить производительность. Поведение по умолчанию для общего доступа к таблицам — WITH HISTORY, если вы используете Databricks Runtime 16.2 или более поздней версии, и WITHOUT HISTORY для более ранних версий Databricks Runtime. Для общего доступа к схеме, значение по умолчанию - WITH HISTORY, независимо от версии Databricks Runtime. WITH HISTORY и WITHOUT HISTORY требуется Databricks Runtime 12.2 LTS или более поздняя версия. См. также повышение производительности чтения таблиц с совместным использованием истории.

    Примечание.

    Если, в дополнение к выполнению запросов с перемещением во времени и потоковому чтению, вы хотите, чтобы ваши клиенты могли запрашивать фид изменений данных таблицы (CDF) с помощью функции table_changes(), вы должны включить CDF в таблице перед её предоставлением WITH HISTORY.

Для получения дополнительной информации о параметрах ALTER SHARE см. ALTER SHARE.

Интерфейс командной строки (CLI)

Чтобы добавить таблицу, выполните следующую команду с помощью интерфейса командной строки Databricks.

databricks shares update <share-name> \
  --json '{
    "updates": [
      {
        "action": "ADD",
        "data_object": {
          "name": "<table-full-name>",
          "data_object_type": "TABLE",
          "shared_as": "<table-alias>"
        }
      }
    ]
  }'

Чтобы добавить схему, выполните следующую команду Databricks CLI:

databricks shares update <share-name> \
  --json '{
    "updates": [
      {
        "action": "ADD",
        "data_object": {
          "name": "<schema-full-name>",
          "data_object_type": "SCHEMA"
        }
      }
    ]
  }'

Примечание.

Для таблиц и только таблиц можно опустить "data_object_type".

Чтобы узнать о параметрах, перечисленных в этом примере, просмотрите инструкции на вкладке SQL.

Чтобы узнать о дополнительных параметрах, запустите databricks shares update --help или ознакомьтесь со статьей PATCH /api/2.1/unity-catalog/shares/ в справочнике по REST API.

Сведения об удалении таблиц из общей папки см. в разделе "Обновление общих папок".

Указание разделов таблиц для общего доступа

Чтобы предоставить общий доступ только к части таблицы при добавлении таблицы в общую папку, можно указать спецификацию секции. Можно указать секции при добавлении таблицы в общую папку или обновлении общей папки с помощью обозревателя каталогов, интерфейса командной строки каталога Databricks Unity или команд SQL в записной книжке Azure Databricks или редакторе sql-запросов Databricks. См. статью "Добавление таблиц в общую папку и обновление общих папок".

Простой пример

В следующем примере SQL делится частью данных в таблице inventory, распределённой по столбцам year, month и date.

  • Данные за 2021 г.
  • Данные за декабрь 2020 г.
  • Данные за 25 декабря 2019 г.
ALTER SHARE share_name
ADD TABLE inventory
PARTITION (year = "2021"),
          (year = "2020", month = "Dec"),
          (year = "2019", month = "Dec", date = "2019-12-25");

Использование свойств получателя для фильтрации секций

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

К свойствам по умолчанию относятся:

  • databricks.accountId: учетная запись Azure Databricks, которой принадлежит получатель данных (только Databricks-совместно с Databricks).
  • databricks.metastoreId: Метахранилище Unity Catalog, к которому принадлежит получатель данных (только для передачи между Databricks).
  • databricks.name: имя получателя данных.

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

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

Например, если таблицы включают столбец идентификатора учетной записи Azure Databricks, можно создать одну общую папку с секциями таблиц, определенными идентификатором учетной записи Azure Databricks. При использовании Delta Sharing динамически доставляет каждому получателю только данные, связанные с их учетной записью Azure Databricks.

Схема параметризованного динамического разделения в Delta Sharing

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

Чтобы указать секцию, которая фильтрует свойства получателя при создании или обновлении общей папки, можно использовать обозреватель каталогов или CURRENT_RECIPIENT функцию SQL в записной книжке Azure Databricks или редакторе sql-запросов Databricks:

Примечание.

Свойства получателя доступны в Databricks Runtime 12.2 и выше.

Обозреватель каталогов

  1. В рабочей области Azure Databricks щелкните значок данных.Каталог.

  2. В верхней части области каталога щелкните значок Шестеренки. Значок шестеренки и выберите Delta Sharing.

    Кроме того, на странице Быстрый доступ нажмите кнопку Delta Sharing >.

  3. На вкладке "Общий доступ" найдите общую папку, которую вы хотите обновить, и щелкните ее имя.

  4. Нажмите кнопку "Управление ресурсами > " "Добавить ресурсы данных".

  5. На странице "Добавление таблиц " выберите каталог и базу данных, содержащую таблицу, а затем выберите таблицу.

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

  6. (Необязательно) Щелкните значок, чтобы добавить тег столбца или комментарий в столбце Partition, чтобы добавить раздел.

    В диалоговом окне "Добавление секции в таблицу " добавьте спецификацию секции на основе свойств, используя следующий синтаксис:

    (<column-name> = CURRENT_RECIPIENT().<property-key>)
    

    Например,

    (country = CURRENT_RECIPIENT().'country')
    
  7. Нажмите кнопку "Сохранить".

SQL

Выполните следующую команду в записной книжке или редакторе sql-запросов Databricks:

ALTER SHARE <share-name> ADD TABLE <catalog-name>.<schema-name>.<table-name>
   PARTITION (<column-name> = CURRENT_RECIPIENT().<property-key>);

Например,

ALTER SHARE acme ADD TABLE acme.default.some_table
  PARTITION (country = CURRENT_RECIPIENT().'country');

Добавить таблицы с векторами удаления или сопоставлением столбцов в общий доступ

Внимание

Эта функция доступна в общедоступной предварительной версии.

Векторы удаления — это функция оптимизации хранилища, которую можно включить в таблицах Delta. См. раздел "Что такое векторы удаления?".

Azure Databricks также поддерживает сопоставление столбцов для таблиц Delta. См. раздел «Переименование и удаление столбцов с помощью сопоставления столбцов Delta Lake».

Чтобы поделиться таблицей с векторами удаления или сопоставлением столбцов, требуется также предоставить доступ к ее истории. См. раздел "Добавление таблиц в общую папку".

При совместном использовании таблицы с векторами удаления или сопоставлением столбцов получатели могут запрашивать таблицу с помощью хранилища SQL, вычислений, работающих под управлением Databricks Runtime 14.1 или более поздней версии, или вычислительных ресурсов с открытым исходным кодом delta-sharing-spark 3.1 или более поздней версии. См. "Чтение таблиц с включенными векторами удаления или сопоставлением столбцов" и "Чтение таблиц с включенными векторами удаления или сопоставлением столбцов".

Добавление потоковых таблиц в общий доступ

Внимание

Эта функция доступна в общедоступной предварительной версии.

Потоковые таблицы — это обычные разностные таблицы с дополнительной поддержкой потоковой передачи или добавочной обработки данных. Потоковые таблицы предназначены для источников данных, к которым можно только добавлять, и обрабатывают входные данные единожды. См. Использование потоковых таблиц в Databricks SQL.

Необходимые разрешения: владелец объекта общего ресурса, а также USE CATALOG в каталоге и схеме, USE SCHEMA содержащей таблицу потоковой передачи, а также SELECT в таблице потоковой передачи. Вы должны сохранять SELECT привилегию до тех пор, пока вы хотите предоставить общий доступ к таблице потоковой передачи. Дополнительные сведения см. в разделе "Требования".

Дополнительные требования:

  • Необходимо включить бессерверные вычисления для рабочих процессов, ноутбуков и декларативных конвейеров Lakeflow в учетной записи, где настроен обмен потоковыми таблицами. См. раздел "Включить бессерверные вычисления".
  • Если в рабочей области включена привязка каталога рабочей области, убедитесь, что рабочая область имеет доступ на чтение и запись к каталогу, в которую входит потоковая таблица. Дополнительные сведения см. в разделе "Ограничение доступа к каталогам" для определенных рабочих областей.
  • Общие таблицы потоковой передачи должны быть определены на основе таблиц Delta или других общих таблиц потоковой передачи или представлений.
  • При добавлении таблицы потоковой передачи в общую папку необходимо использовать хранилище SQL или вычисление в Databricks Runtime 13.3 LTS или более поздней версии.

Ограничения:

  • В таблице потоковой передачи не могут быть фильтры строк и маски столбцов.
    • Базовая таблица таблицы потоковой передачи может содержать фильтры строк и маски столбцов.

Чтобы добавить потоковые таблицы в совместное использование, выполните приведенные ниже действия.

Обозреватель каталогов

  1. В рабочей области Azure Databricks щелкните значок данных.Каталог.

  2. В верхней части области каталога щелкните значок Шестеренки. Значок шестеренки и выберите Delta Sharing.

    Кроме того, на странице Быстрый доступ нажмите кнопку Delta Sharing >.

  3. На вкладке "Расшарено мною" найдите запись, к которой нужно добавить потоковую таблицу, и щелкните её имя.

  4. Нажмите кнопку "Управление ресурсами", чтобы изменить ресурсы>.

  5. На странице "Редактирование ресурсов" найдите или просмотрите таблицу потоковой передачи, которую вы хотите поделиться, и выберите её.

  6. (Необязательно) В столбце "Псевдоним" щелкните значок, чтобы добавить тег столбца или комментарий и указать псевдоним или альтернативное имя потоковой таблицы, чтобы сделать название потоковой таблицы более удобочитаемым. Псевдоним — это имя, которое видит получатель и должен использовать в запросах. Получатели не могут использовать фактическое имя потоковой таблицы, если указан псевдоним.

  7. Нажмите кнопку "Сохранить".

SQL

Выполните следующую команду в записной книжке или редакторе sql-запросов Databricks.

ALTER SHARE <share_name> ADD TABLE <st_name> [COMMENT <comment>] [AS <shared_st_name>];

Интерфейс командной строки (CLI)

Выполните следующую команду Databricks CLI.

databricks shares update <share-name> \
  --json '{
    “updates”: [
      {
        “action”: “ADD”,
        “data_object”: {
          “name”: “<st-full-name>",
          “data_object_type”: “TABLE”,
          “comment”: “<comment>”
        }
      }
    ]
  }'

Сведения об удалении потоковых таблиц из общей папки см. в разделе "Обновление общих папок".

Добавьте просмотры к общему доступу

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

В этом разделе описывается добавление представлений в общую папку с помощью обозревателя каталогов, интерфейса командной строки Databricks или команд SQL в записной книжке Azure Databricks или редакторе sql-запросов Databricks. Если вы предпочитаете использовать REST API каталога Unity, ознакомьтесь со статьей PATCH /api/2.1/unity-catalog/shares/ в справочнике по REST API.

Необходимые разрешения: владелец объекта общего ресурса, а также USE CATALOG в каталоге и схеме, USE SCHEMA содержащей представление, и SELECT в представлении. Вы должны сохранять привилегию SELECT до тех пор, пока хотите делиться представлением. Дополнительные сведения см. в разделе "Требования".

Дополнительные требования:

  • Вы должны включить бессерверные вычисления для рабочих процессов, записных книжек и декларативных конвейеров Lakeflow в учетной записи, в которой настроен общий доступ к представлению. См. раздел "Включить бессерверные вычисления".
  • Представления для общего доступа должны быть определены в таблицах Delta или в других представлениях для общего доступа.
  • Нельзя делиться представлениями, которые ссылаются на общие таблицы или общие представления.
  • При добавлении представления в общую папку необходимо использовать хранилище SQL или вычисление в Databricks Runtime 13.3 LTS или более поздней версии.
  • Если в рабочей области включены привязки каталога рабочих областей, убедитесь, что рабочая область имеет доступ на чтение и запись в каталог. Дополнительные сведения см. в разделе "Ограничение доступа к каталогам" для определенных рабочих областей.
  • Требования и ограничения использования представлений адресатами см. в разделе "Чтение общих представлений".

Добавление представлений в общую папку:

Обозреватель каталогов

  1. В рабочей области Azure Databricks щелкните значок данных.Каталог.

  2. В верхней части области каталога щелкните значок Шестеренки. Значок шестеренки и выберите Delta Sharing.

    Кроме того, на странице Быстрый доступ нажмите кнопку Delta Sharing >.

  3. На вкладке "Предоставлено мной" найдите общую запись, к которой вы хотите добавить представление, и щелкните ее имя.

  4. Нажмите кнопку "Управление ресурсами > " "Добавить ресурсы данных".

  5. На странице Добавление таблиц найдите или просмотрите представление, которое вы хотите предоставить, и выберите его.

  6. (Необязательно) Щелкните значок, чтобы добавить тег столбца или комментарий в столбце Alias, чтобы указать альтернативное имя представления, или Alias, чтобы сделать имя представления более удобочитаемым. Псевдоним — это имя, которое видит получатель и должен использовать в запросах. Получатели не могут использовать реальное имя представления, если указан псевдоним.

  7. Нажмите кнопку "Сохранить".

SQL

Выполните следующую команду в записной книжке или редакторе sql-запросов Databricks:

ALTER SHARE <share-name> ADD VIEW <catalog-name>.<schema-name>.<view-name>
   [COMMENT "<comment>"]
   [AS <alias>];

Возможные варианты:

  • AS <alias>: альтернативное имя представления или псевдоним, чтобы сделать его более читаемым. Псевдоним — это имя представления, которое видит получатель и которое он должен использовать в запросах. Получатели не могут использовать реальное имя представления, если указан псевдоним. Используйте формат <schema-name>.<view-name>.
  • COMMENT "<comment>": Комментарии отображаются в пользовательском интерфейсе обозревателя каталогов и при перечислении и просмотре сведений с помощью инструкций SQL.

Для получения дополнительной информации о параметрах ALTER SHARE см. ALTER SHARE.

Интерфейс командной строки (CLI)

Выполните следующую команду Databricks CLI:

databricks shares update <share-name> \
  --json '{
    "updates": [
      {
        "action": "ADD",
        "data_object": {
          "name": "<view-full-name>",
          "data_object_type": "VIEW",
          "shared_as": "<view-alias>"
        }
      }
    ]
  }'

"shared_as": "<view-alias>" является необязательным и предоставляет альтернативное имя вида или псевдоним для улучшения читаемости. Псевдоним — это имя представления, которое видит получатель и которое он должен использовать в запросах. Получатели не могут использовать реальное имя представления, если указан псевдоним. Используйте формат <schema-name>.<view-name>.

Чтобы узнать о дополнительных параметрах, запустите databricks shares update --help или ознакомьтесь со статьей PATCH /api/2.1/unity-catalog/shares/ в справочнике по REST API.

Сведения об удалении представлений из общей папки см. в разделе "Обновление общих папок".

Добавьте динамические представления в общий ресурс для фильтрации строк и столбцов

Динамические представления можно использовать для настройки точного контроля доступа к табличным данным, в том числе:

  • Безопасность на уровне столбцов или строк.
  • Маскирование данных.

При создании динамического представления, использующего функцию CURRENT_RECIPIENT(), можно ограничить доступ получателя в соответствии с свойствами, указанными в определении получателя.

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

Требования

  • Версия Databricks Runtime: Функция CURRENT_RECIPIENT поддерживается в Databricks Runtime 14.2 и выше.
  • Разрешения:
    • Чтобы создать представление, необходимо быть владельцем объекта общего ресурса, а также иметь USE CATALOG и USE SCHEMA в каталоге и схеме, которые содержат представление, а также SELECT в самом представлении. Вы должны сохранять привилегию SELECT до тех пор, пока хотите делиться представлением.
    • Чтобы задать свойства получателя, необходимо быть владельцем объекта получателя.
  • Ограничения: все ограничения для обмена представлениями, включая ограничение на обмен представлениями между Databricks и Databricks, а также следующие:
    • Если поставщик предоставляет общий доступ к представлению, использующее CURRENT_RECIPIENT функцию, поставщик не может напрямую запрашивать представление из-за контекста совместного использования. Чтобы протестировать такое динамическое представление, поставщик должен поделиться представлением с собой и запросить представление в качестве получателя.
    • Поставщики не могут создать представление, которое ссылается на динамическое представление.

Задайте свойство получателя

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

Свойства получателя можно задать с помощью обозревателя каталогов или команд SQL в записной книжке Azure Databricks или редакторе запросов SQL.

Обозреватель каталогов

  1. В рабочей области Azure Databricks щелкните значок данных.Каталог.

  2. В верхней части области каталога щелкните значок Шестеренки. Значок шестеренки и выберите Delta Sharing.

    Кроме того, на странице Быстрый доступ нажмите кнопку Delta Sharing >.

  3. На вкладке "Получатели" найдите получателя, к которому нужно добавить свойства, и щелкните его имя.

  4. Нажмите кнопку "Изменить свойства".

  5. В диалоговом окне "Изменить свойства получателя " введите имя столбца в качестве ключа (в данном случае country) и значение, которое необходимо отфильтровать в качестве значения (например, CA).

  6. Нажмите кнопку "Сохранить".

SQL

Чтобы задать свойство получателя, используйте ALTER RECIPIENT. В этом примере свойство country установлено в CA.

ALTER RECIPIENT recipient1 SET PROPERTIES ('country' = 'CA');

Создайте динамическое представление с правами доступа на уровне строк для получателей

В этом примере только получатели с соответствующим country свойством могут просматривать определенные строки.

CREATE VIEW my_catalog.default.view1 AS
  SELECT * FROM my_catalog.default.my_table
  WHERE country = CURRENT_RECIPIENT('country');

Другим вариантом является сохранение отдельной таблицы сопоставления, которая сопоставляет поля таблицы фактов с свойствами получателя. Это позволяет отделить свойства получателя и поля таблицы фактов для повышения гибкости.

Создание динамического представления с разрешением на уровне столбца для получателей

В этом примере только получатели, соответствующие свойству country , могут просматривать определенные столбцы. Другие пользователи видят возвращаемые данные следующим REDACTEDобразом:

CREATE VIEW my_catalog.default.view2 AS
  SELECT
  CASE
    WHEN CURRENT_RECIPIENT('country') = 'US' THEN pii
    ELSE 'REDACTED'
  END AS pii
  FROM my_catalog.default.my_table;

Предоставление общего доступа к динамическому представлению получателю

Чтобы предоставить общий доступ к динамическому представлению получателю, используйте те же команды SQL или процедуру пользовательского интерфейса, что и для стандартного представления. См. раздел "Добавление представлений в общую папку".

Добавление материализованных представлений в общую папку

Внимание

Эта функция доступна в общедоступной предварительной версии.

Как и представления, материализованные представления — это результаты запроса, и вы можете получить к ним доступ, как к таблице. В отличие от регулярных представлений, результаты материализованного представления отражают состояние данных при последнем обновлении материализованного представления. Дополнительные сведения о материализованных представлениях см. в разделе "Использование материализованных представлений" в Databricks SQL.

В этом разделе описывается добавление материализованных представлений в общую папку с помощью обозревателя каталогов, интерфейса командной строки Databricks или команд SQL в записной книжке Azure Databricks или редакторе sql-запросов Databricks. Если вы предпочитаете использовать REST API каталога Unity, ознакомьтесь со статьей PATCH /api/2.1/unity-catalog/shares/ в справочнике по REST API.

Необходимые разрешения: владелец объекта общего ресурса, а также USE CATALOG в каталоге и схеме, USE SCHEMA содержащей материализованное представление, и SELECT в материализованном представлении. Вам необходимо сохранять привилегию до тех пор, пока вы хотите разделить материализованное представление SELECT. Дополнительные сведения см. в разделе "Требования".

Дополнительные требования:

  • Вы должны включить бессерверные вычисления для рабочих процессов, записных книжек и декларативных конвейеров Lakeflow в учетной записи, в которой настроен общий доступ к материализованному представлению. См. раздел "Включить бессерверные вычисления".
  • Если в рабочей области включены привязки каталога рабочей области, убедитесь, что рабочая область имеет доступ на чтение и запись к каталогу, содержащему материализованное представление. Дополнительные сведения см. в разделе "Ограничение доступа к каталогам" для определенных рабочих областей.
  • Разделяемые материализованные представления должны быть определены на Delta-таблицах или других разделяемых потоковых таблицах, представлениях или материализованных представлениях.
  • При добавлении материализованного представления в объект общего доступа необходимо использовать хранилище SQL или платформу вычислений в Databricks Runtime 13.3 LTS или более поздней версии.

Ограничения:

  • Материализованное представление не может содержать фильтры строк и маски столбцов.
    • Базовая таблица материализованного представления может содержать фильтры строк и маски столбцов.

Обозреватель каталогов

  1. В рабочей области Azure Databricks щелкните значок данных.Каталог.

  2. В верхней части области каталога щелкните значок Шестеренки. Значок шестеренки и выберите Delta Sharing.

    Кроме того, на странице Быстрый доступ нажмите кнопку Delta Sharing >.

  3. На вкладке "Отправлено мной" найдите общий ресурс, к которому нужно добавить материализованное представление, и щелкните его название.

  4. Нажмите кнопку "Управление ресурсами", чтобы изменить ресурсы>.

  5. На странице "Изменение ресурсов" найдите или просмотрите материализованное представление, которым вы хотите поделиться, и выберите его.

  6. (Необязательно) В столбце "Псевдоним" щелкните значок, чтобы добавить тег столбца или комментарий, чтобы указать псевдоним или альтернативное материализованное имя представления, чтобы сделать материализованное имя представления более удобочитаемым. Псевдоним — это имя, которое видит получатель и должен использовать в запросах. Получатели не могут использовать фактическое материализованное имя представления, если указан псевдоним.

  7. Нажмите кнопку "Сохранить".

SQL

Выполните следующую команду в записной книжке или редакторе sql-запросов Databricks.

ALTER SHARE <share_name> ADD MATERIALIZED VIEW <mv_name> [COMMENT <comment>] [AS <shared_mv_name>];

Интерфейс командной строки (CLI)

databricks shares update <share-name> \
  --json '{
    “updates”: [
      {
        “action”: “ADD”,
        “data_object”: {
          “name”: “<mat-view-full-name>”,
          “data_object_type”: “MATERIALIZED_VIEW”,
          “comment”: “<comment>”
        }
      }
    ]
  }'

Сведения об удалении материализованных представлений из общей папки см. в разделе "Обновление общих папок".

Добавление томов в объект общего доступа

В каталоге Unity объекты тома представляют логический объем хранилища в расположении облачного хранилища объектов. Они предназначены в первую очередь для управления ресурсами не табличных данных. См. раздел "Что такое тома каталога Unity?".

В этом разделе описывается добавление томов в общую папку с помощью обозревателя каталогов, интерфейса командной строки Databricks или команд SQL в записной книжке Azure Databricks или редакторе sql-запросов. Если вы предпочитаете использовать REST API каталога Unity, ознакомьтесь со статьей PATCH /api/2.1/unity-catalog/shares/ в справочнике по REST API.

Примечание.

Комментарии томов включаются в совместный доступ, который предоставляется получателю с использованием обмена Databricks-на-Databricks начиная с 25 июля 2024 года. Если вы хотите начать общий доступ к комментариям через общую папку, которая была предоставлена получателю до даты выпуска, необходимо отозвать и повторно предоставить получателю доступ для активации общего доступа к комментариям.

Необходимые разрешения: владелец объекта общей папки, USE CATALOG и USE SCHEMA на каталог и схему, которые содержат том, и READ VOLUME на том. Вы должны сохранять привилегию, пока хотите предоставить общий доступ к тому READ VOLUME. Дополнительные сведения см. в разделе "Требования".

Дополнительные требования:

  • Обмен томами поддерживается только при обмене между Databricks и Databricks.
  • При добавлении тома в общую папку необходимо использовать хранилище SQL версии 2023.50 или более поздней версии или вычислительный ресурс в Databricks Runtime 14.1 или более поздней.
  • Если хранилище томов на стороне поставщика имеет пользовательские сетевые конфигурации (например, брандмауэр или приватный канал), поставщик должен убедиться, что адреса контрольной плоскости и плоскости данных получателя входят в список разрешённых для подключения к месту хранения тома.

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

Обозреватель каталогов

  1. В рабочей области Azure Databricks щелкните значок данных.Каталог.

  2. В верхней части области каталога щелкните значок Шестеренки. Значок шестеренки и выберите Delta Sharing.

    Кроме того, на странице Быстрый доступ нажмите кнопку Delta Sharing >.

  3. На вкладке "Общий доступ ко мне" найдите общую папку, к которой нужно добавить том, и щелкните ее имя.

  4. Нажмите кнопку "Управление ресурсами", чтобы изменить ресурсы>.

  5. На странице "Изменение ресурсов" найдите или просмотрите том, который вы хотите предоставить, и выберите его.

    Кроме того, можно выбрать всю схему, содержащую том. См. раздел "Добавление схем в общую папку".

  6. (Необязательно) Щелкните значок, чтобы добавить тег столбца или комментарий в столбце Псевдоним, чтобы указать альтернативное имя тома, или Псевдоним, чтобы сделать имя тома более удобочитаемым.

    Псевдонимы недоступны, если выбрать всю схему.

    Псевдоним — это имя, которое видит получатель и должен использовать в запросах. Если указан псевдоним, получатели не могут использовать фактическое имя тома.

  7. Нажмите кнопку "Сохранить".

SQL

Выполните следующую команду в записной книжке или редакторе sql-запросов Databricks:

ALTER SHARE <share-name> ADD VOLUME <catalog-name>.<schema-name>.<volume-name>
   [COMMENT "<comment>"]
   [AS <alias>];

Возможные варианты:

  • AS <alias>: альтернативное имя тома или псевдоним, чтобы сделать имя тома более читаемым. Псевдоним — это имя тома данных, которое видит получатель и должен использовать в запросах. Получатели не могут использовать фактическое имя тома, если указан псевдоним. Используйте формат <schema-name>.<volume-name>.
  • COMMENT "<comment>": Примечания отображаются в пользовательском интерфейсе обозревателя каталогов, а также при перечислении и отображении сведений о томе с помощью инструкций SQL.

Для получения дополнительной информации о параметрах ALTER SHARE см. ALTER SHARE.

Интерфейс командной строки (CLI)

Выполните следующую команду с помощью Databricks CLI 0.210 или более поздней версии:

 databricks shares update <share-name> \
   --json '{
     "updates": [
       {
         "action": "ADD",
         "data_object": {
           "name": "<volume-full-name>",
           "data_object_type": "VOLUME",
           "string_shared_as": "<volume-alias>"
         }
       }
     ]
   }'

"string_shared_as": "<volume-alias>" является необязательным и предоставляет альтернативное имя тома или псевдоним, чтобы сделать имя тома более читаемым. Псевдоним — это имя тома данных, которое видит получатель и должен использовать в запросах. Получатели не могут использовать фактическое имя тома, если указан псевдоним. Используйте формат <schema-name>.<volume-name>.

Чтобы узнать о дополнительных параметрах, запустите databricks shares update --help или ознакомьтесь со статьей PATCH /api/2.1/unity-catalog/shares/ в справочнике по REST API.

Сведения об удалении томов из общей папки см. в разделе "Обновление общих папок".

Добавление моделей в общий доступ

В этом разделе описывается добавление моделей в общую папку с помощью обозревателя каталогов, командной строки Databricks или команд SQL в записной книжке Azure Databricks или редакторе SQL-запросов. Если вы предпочитаете использовать REST API каталога Unity, ознакомьтесь со статьей PATCH /api/2.1/unity-catalog/shares/ в справочнике по REST API.

Примечание.

Комментарии модели и комментарии к версии модели включаются в объекты общего доступа, которые передаются через Databricks-to-Databricks обмен.

Необходимые разрешения: владелец разделяемого объекта, а также USE CATALOG в каталоге и схеме, содержащих модель, и USE SCHEMA в модели. Вы должны сохранять EXECUTE привилегию до тех пор, пока вы хотите делиться моделью. Дополнительные сведения см. в разделе "Требования".

Дополнительные требования:

  • Поддержка общего доступа к моделям осуществляется только для обмена между Databricks и Databricks.
  • При добавлении модели в общий доступ необходимо использовать склад данных SQL версии 2023.50 и выше или вычислительный ресурс Databricks Runtime 14.0 и выше.

Чтобы добавить модели в общий доступ:

Обозреватель каталогов

  1. В рабочей области Azure Databricks щелкните значок данных.Каталог.

  2. В верхней части области каталога щелкните значок Шестеренки. Значок шестеренки и выберите Delta Sharing.

    Кроме того, на странице Быстрый доступ нажмите кнопку Delta Sharing >.

  3. На вкладке "Доступ, предоставленный мной" найдите общий доступ, к которому нужно добавить модель, и щелкните его название.

  4. Нажмите кнопку "Управление ресурсами", чтобы изменить ресурсы>.

  5. На странице Изменение ресурсов найдите или просмотрите модель, которой вы хотите поделиться, и выберите ее.

    Кроме того, можно выбрать всю схему, содержащую модель. См. раздел "Добавление схем в общую папку".

  6. (Необязательно) Щелкните значок, чтобы добавить тег столбца или комментарий в столбце Alias, чтобы указать альтернативное имя модели или Alias, чтобы сделать имя модели более читаемым.

    Псевдонимы недоступны, если выбрать всю схему.

    Псевдоним — это имя, которое видит получатель и должен использовать в запросах. Получатели не могут использовать фактическое имя модели, если указан псевдоним.

  7. Нажмите кнопку "Сохранить".

SQL

Выполните следующую команду в записной книжке или редакторе sql-запросов Databricks:

ALTER SHARE <share-name> ADD MODEL <catalog-name>.<schema-name>.<model-name>
   [COMMENT "<comment>"]
   [AS <alias>];

Возможные варианты:

  • AS <alias>: альтернативное имя модели или псевдоним, чтобы сделать имя модели более читаемым. Псевдоним — это имя модели, которое получатель видит и должен использовать в запросах. Получатели не могут использовать фактическое имя модели, если указан псевдоним. Используйте формат <schema-name>.<model-name>.
  • COMMENT "<comment>": примечания отображаются в пользовательском интерфейсе обозревателя каталогов, а также при отображении сведений о модели с помощью инструкций SQL.

Для получения дополнительной информации о параметрах ALTER SHARE см. ALTER SHARE.

Интерфейс командной строки (CLI)

Выполните следующую команду с помощью Databricks CLI 0.210 или более поздней версии:

 databricks shares update <share-name> \
   --json '{
     "updates": [
       {
         "action": "ADD",
         "data_object": {
           "name": "<model-full-name>",
           "data_object_type": "MODEL",
           "string_shared_as": "<model-alias>"
         }
       }
     ]
   }'

"string_shared_as": "<model-alias>" является необязательным и предоставляет альтернативное имя модели или псевдоним, чтобы сделать имя модели более читаемым. Псевдоним — это имя модели, которое получатель видит и должен использовать в запросах. Получатели не могут использовать фактическое имя модели, если указан псевдоним. Используйте формат <schema-name>.<model-name>.

Чтобы узнать о дополнительных параметрах, запустите databricks shares update --help или ознакомьтесь со статьей PATCH /api/2.1/unity-catalog/shares/ в справочнике по REST API.

Сведения об удалении моделей из общей папки см. в разделе "Обновление общих папок".

Добавление схем в общую папку

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

Для добавления, обновления или удаления схемы с помощью SQL требуется хранилище SQL или вычислительные ресурсы под управлением Databricks Runtime 13.3 LTS или более поздней версии. Выполнение этого же действия с помощью обозревателя каталогов не имеет требований к вычислениям.

Необходимые разрешения: владелец объекта общего ресурса и владельца схемы (или пользователь с USE SCHEMASELECT привилегиями в схеме).

Чтобы добавить схему в общую папку, следуйте инструкциям в статье "Добавление таблиц в общую папку", обратите внимание на содержимое, указывающее, как добавить схему.

Псевдонимы таблиц, разделы и псевдонимы томов недоступны, если выбрана вся схема. Если вы создали псевдонимы или разделы для любых ресурсов в схеме, они удаляются при добавлении всей схемы в общий доступ.

Если вы хотите указать дополнительные параметры для таблицы или тома, которым вы предоставляете общий доступ к схеме, необходимо предоставить общий доступ к таблице или тому с помощью SQL и предоставить псевдоним таблицы или тома с другим именем схемы.

Добавить файлы записной книжки в общий доступ

Используйте обозреватель каталогов для добавления файла записной книжки в общую папку.

Необходимые разрешения: владелец объекта общей папки и разрешение CAN READ в записной книжке, к которой вы хотите предоставить общий доступ.

  1. В рабочей области Azure Databricks щелкните значок данных.Каталог.
  2. На странице быстрого доступа нажмите кнопку Delta обмен >.
  3. На вкладке "Общий доступ" найдите общую папку, в которую вы хотите добавить записную книжку, и щелкните ее имя.
  4. Щелкните "Управление ресурсами " и выберите "Добавить файл записной книжки".
  5. На странице "Добавить файл записной книжки " щелкните значок файла, чтобы найти записную книжку, которую вы хотите предоставить.
    • Щелкните файл, к которому нужно предоставить общий доступ, и нажмите кнопку "Выбрать".
    • (Необязательно) укажите понятный псевдоним для файла в поле Поделитесь как. Это идентификатор, который будут видеть получатели.
    • В разделе "Расположение хранилища" введите внешнее расположение в облачном хранилище, где вы хотите сохранить записную книжку. Можно указать подпуть в рамках заданного внешнего расположения. Если не указать внешнее расположение, записная книжка будет храниться в расположении на уровне метахранилища (или корневом расположении метахранилища). Если корневое расположение для хранилища метаданных не определено, необходимо ввести здесь внешнее расположение. См. статью "Добавление управляемого хранилища в существующее хранилище метаданных".
  6. Нажмите кнопку "Сохранить".

Файл общей записной книжки теперь отображается в списке файлов записной книжки на вкладке "Ресурсы ".

Удаление файлов записной книжки из общих папок

Чтобы удалить файл записной книжки из общего доступа:

  1. В рабочей области Azure Databricks щелкните значок данных.Каталог.

  2. В верхней части области каталога щелкните значок Шестеренки. Значок шестеренки и выберите Delta Sharing.

    Кроме того, на странице Быстрый доступ нажмите кнопку Delta Sharing >.

  3. На вкладке "Предоставлено мной" найдите объект доступа, который включает записную книжку, и щелкните его название.

  4. На вкладке "Ресурсы" найдите файл записной книжки, который нужно удалить из общей папки.

  5. Щелкните значок меню кебаб справа от строки и выберите Удалить файл записной книжки.

  6. В диалоговом окне подтверждения нажмите кнопку "Удалить".

Обновление файлов записной книжки в общих папках

Чтобы обновить записную книжку, к которой вы уже предоставили общий доступ, необходимо повторно добавить ее, предоставив ей новый псевдоним в поле "Общий доступ". Databricks рекомендует использовать имя, указывающее измененное состояние записной книжки, например <old-name>-update-1. Возможно, вам потребуется уведомить получателя об изменении. Получатель должен выбрать и клонировать новую записную книжку, чтобы воспользоваться преимуществами обновления.

Предоставление получателям доступа к ресурсу для общего использования

Чтобы предоставить общий доступ получателям, можно использовать обозреватель каталогов, интерфейс командной строки каталога Databricks Unity или GRANT ON SHARE команду SQL в записной книжке Azure Databricks или редакторе sql-запросов Databricks.

Необходимые разрешения: одно из следующих элементов:

  • Администратор хранилища метаданных.
  • Делегированные разрешения или владение как для общего ресурса, так и для объектов получателя ((USE SHARE + SET SHARE PERMISSION) или владельца общего ресурса) И (USE RECIPIENT или владельца получателя).

Инструкции см. в разделе "Управление доступом к общим папкам данных Delta Sharing" (для поставщиков). В этой статье также объясняется, как отозвать доступ получателя к общему ресурсу.

Просмотр акций и деталей акций

Чтобы просмотреть список общих папок или сведений о общей папке, можно использовать обозреватель каталогов, интерфейс командной строки каталога Databricks Unity или команды SQL в записной книжке Azure Databricks или редакторе запросов Databricks SQL.

Необходимые разрешения: список возвращаемых общих ресурсов зависит от вашей роли и разрешений. Администраторы хранилища метаданных и пользователи с USE SHARE привилегиями видят все общие папки. В противном случае можно просмотреть только те ресурсы, для которых вы являетесь владельцем доступа.

Подробности включают:

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

Обозреватель каталогов

  1. В рабочей области Azure Databricks щелкните значок данных.Каталог.

  2. В верхней части области каталога щелкните значок Шестеренки. Значок шестеренки и выберите Delta Sharing.

    Кроме того, на странице Быстрый доступ нажмите кнопку Delta Sharing >.

  3. Откройте вкладку "Общие папки" , чтобы просмотреть список общих папок.

  4. Просмотр сведений об общем доступе на вкладке Сведения.

SQL

Чтобы просмотреть список общих папок, выполните следующую команду в записной книжке или редакторе sql-запросов Databricks. При необходимости замените <pattern>LIKE предикатом.

SHOW SHARES [LIKE <pattern>];

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

DESCRIBE SHARE <share-name>;

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

SHOW ALL IN SHARE <share-name>;

Интерфейс командной строки (CLI)

Чтобы просмотреть список шейров, выполните следующую команду с помощью средства командной строки Databricks.

databricks shares list

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

databricks shares get <share-name>

Просмотр получателей, имеющих разрешения на общую папку

Чтобы просмотреть список доступов к ресурсам, к которым получателю предоставлен доступ, можно использовать Обозреватель каталогов, интерфейс командной строки каталога Databricks Unity или команду SHOW GRANTS TO RECIPIENT SQL в записной книжке Azure Databricks или редакторе SQL-запросов Databricks.

Необходимые разрешения: администратор хранилища метаданных, USE SHARE привилегии или владелец объекта общего доступа.

Обозреватель каталогов

  1. В рабочей области Azure Databricks щелкните значок данных.Каталог.

  2. В верхней части области каталога щелкните значок Шестеренки. Значок шестеренки и выберите Delta Sharing.

    Кроме того, на странице Быстрый доступ нажмите кнопку Delta Sharing >.

  3. На вкладке "Общий доступ" найдите и выберите получателя.

  4. Перейдите на вкладку "Получатели" , чтобы просмотреть список получателей, которые могут получить доступ к общей папке.

SQL

Выполните следующую команду в записной книжке или редакторе sql-запросов Databricks.

SHOW GRANTS ON SHARE <share-name>;

Интерфейс командной строки (CLI)

Выполните следующую команду с помощью Databricks интерфейса командной строки.

databricks shares share-permissions <share-name>

Обновление акций

Помимо добавления таблиц, представлений, томов и записных книжек в общий доступ, можно:

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

Чтобы внести эти обновления в доли, вы можете использовать Catalog Explorer, интерфейс командной строки Databricks Unity Catalog или команды SQL в записной книжке Azure Databricks или редакторе SQL-запросов Databricks. Обозреватель каталогов нельзя использовать для переименования общей папки.

Необходимые разрешения: Чтобы обновить владельца шаринга, необходимо быть одним из следующих: администратором хранилища метаданных, владельцем объекта шаринга или пользователем с обоими правами USE SHARE и SET SHARE PERMISSION. Чтобы обновить имя общего ресурса, необходимо быть администратором хранилища метаданных (или пользователем с привилегией) CREATE_SHARE и владельцем общего ресурса. Чтобы обновить любые другие свойства общего ресурса, вы должны быть его владельцем.

Обозреватель каталогов

  1. В рабочей области Azure Databricks щелкните значок данных.Каталог.

  2. В верхней части области каталога щелкните значок Шестеренки. Значок шестеренки и выберите Delta Sharing.

    Кроме того, на странице Быстрый доступ нажмите кнопку Delta Sharing >.

  3. На вкладке "Общий доступ" найдите общую папку, которую вы хотите обновить, и щелкните ее имя.

На странице сведений об общем доступе сделайте следующее:

  • Щелкните значок редактирования 'Изменить' рядом с полем "Владелец" или "Комментарий", чтобы обновить эти значения.
  • Щелкните по кнопке значка меню кебаб в строке ресурса, чтобы удалить ее.
  • Нажмите "Управление ресурсами > Изменить ресурсы", чтобы обновить все остальные свойства:
    • Чтобы удалить ресурс, снимите флажок рядом с ресурсом.
    • Чтобы добавить, обновить или удалить определения секций, нажмите кнопку "Дополнительные параметры".

SQL

Выполните следующие команды в записной книжке или редакторе Databricks SQL.

Переименование общей папки:

ALTER SHARE <share-name> RENAME TO <new-share-name>;

Удалите таблицы из общего доступа:

ALTER SHARE share_name REMOVE TABLE <table-name>;

Удаление томов из общей папки:

ALTER SHARE share_name REMOVE VOLUME <volume-name>;

Добавьте или обновите комментарий к совместному ресурсу:

COMMENT ON SHARE <share-name> IS '<comment>';

Добавление или изменение секций для таблицы в общей папке:

ALTER SHARE <share-name> ADD TABLE <table-name> PARTITION(<clause>);

Изменение владельца доступа:

ALTER SHARE <share-name> OWNER TO  '<principal>'

-- Principal must be an account-level user email address or group name.

Включите общий доступ к истории для таблицы:

ALTER SHARE <share-name> ADD TABLE <table-name> WITH HISTORY;

Дополнительные сведения о параметрах ALTER SHARE см. в ALTER SHARE.

Интерфейс командной строки (CLI)

Выполните следующие команды с помощью интерфейса командной строки Databricks.

Переименование общей папки:

databricks shares update <share-name> --name <new-share-name>

Удалите таблицы из общего доступа:

databricks shares update <share-name> \
  --json '{
    "updates": [
      {
        "action": "REMOVE",
        "data_object": {
          "name": "<table-full-name>",
          "data_object_type": "TABLE",
          "shared_as": "<table-alias>"
        }
      }
    ]
  }'

Удалите тома из разделяемого ресурса (с помощью Databricks CLI 0.210 или более поздней версии):

databricks shares update <share-name> \
  --json '{
    "updates": [
      {
        "action": "REMOVE",
        "data_object": {
          "name": "<volume-full-name>",
          "data_object_type": "VOLUME",
          "string_shared_as": "<volume-alias>"
        }
      }
    ]
  }'

Примечание.

Используйте свойство name, если для тома нет псевдонима. Используйте string_shared_as , если есть псевдоним.

Добавьте или обновите комментарий к совместному ресурсу:

databricks shares update <share-name> --comment '<comment>'

Изменение владельца доступа:

databricks  shares update <share-name> --owner '<principal>'

Основной объект должен быть адресом электронной почты пользователя на уровне учетной записи или именем группы.

Удаление общей папки

Чтобы удалить общую папку, можно использовать обозреватель каталогов, интерфейс командной строки каталога Databricks Unity или DELETE SHARE команду SQL в записной книжке Azure Databricks или редакторе sql-запросов Databricks. Вы должны быть владельцем общего ресурса.

При удалении общей папки получатели больше не могут получить доступ к общим данным.

Необходимые разрешения: владелец объекта для общего доступа.

Обозреватель каталогов

  1. В рабочей области Azure Databricks щелкните значок данных.Каталог.

  2. В верхней части области каталога щелкните значок Шестеренки. Значок шестеренки и выберите Delta Sharing.

    Кроме того, на странице Быстрый доступ нажмите кнопку Delta Sharing >.

  3. На вкладке "Общий доступ ко мне" найдите общую папку, которую вы хотите удалить, и щелкните ее имя.

  4. Щелкните значок меню Kebab и выберите Удалить.

  5. В диалоговом окне подтверждения нажмите кнопку "Удалить".

SQL

Выполните следующую команду в записной книжке или редакторе sql-запросов Databricks.

DROP SHARE [IF EXISTS] <share-name>;

Интерфейс командной строки (CLI)

Выполните следующую команду с помощью Databricks интерфейса командной строки.

databricks shares delete <share-name>