Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Область применения:
Databricks SQL
Databricks Runtime
Каталог Unity и встроенное хранилище метаданных Azure Databricks Hive используют расположения по умолчанию для управляемых таблиц. Каталог Unity представляет несколько новых защищаемых объектов для предоставления привилегий данным в облачном хранилище объектов.
-
Объект каталога Unity, используемый для абстрагирования долгосрочных учетных данных от поставщиков облачных хранилищ.
-
Объект каталога Unity, используемый для связывания URI облачного хранилища объектов с учетными данными хранилища.
-
Таблица каталога Unity, созданная во внешнем расположении, управляемом каталогом Unity.
Внешняя таблица
Внешняя таблица — это таблица , которая ссылается на путь к внешнему хранилищу с помощью LOCATION предложения.
Путь к хранилищу должен содержаться в существующем внешнем расположении, к которому вам предоставлен доступ.
Кроме того, вы можете ссылаться на учетные данные хранилища, к которым вам предоставлен доступ.
Использование внешних таблиц абстрагирует путь к хранилищу, внешнее расположение и учетные данные хранения для пользователей, которым предоставлен доступ к внешней таблице.
Предупреждение
Если в хранилище метаданных Hive уровня рабочей области зарегистрирована схема (база данных), удаление схемы с помощью параметра CASCADE приводит к удалению всех файлов в этом расположении схемы рекурсивно независимо от типа таблицы (управляемого или внешнего).
Если схема зарегистрирована в метахранилище каталога Unity, файлы управляемых таблиц каталога Unity удаляются рекурсивно. Однако файлы для внешних таблиц не удаляются. Эти файлы необходимо управлять напрямую с помощью поставщика облачных хранилищ.
Таким образом, чтобы избежать случайной потери данных, никогда не следует регистрировать схему в хранилище метаданных Hive на месте, где уже существуют данные. Не следует создавать новые внешние таблицы в местоположении, управляемом метаданными Hive, или содержащем управляемые таблицы Unity Catalog.
Графическое представление связей
На схеме ниже показана связь между следующими элементами:
- учетные данные хранилища
- внешние расположения;
- внешние таблицы
- пути к хранилищу;
- сущности IAM;
- учетные записи службы Azure.
Примеры
-- `finance` can create an external table over specific object within the `finance_loc` location
> CREATE TABLE sec_filings LOCATION 'abfss://container@storageaccount.dfs.core.windows.net/depts/finance/sec_filings';
-- Create or replace an external table from a query
> CREATE OR REPLACE TABLE sec_filings
LOCATION 'abfss://container@storageaccount.dfs.core.windows.net/depts/finance/sec_filings'
AS (SELECT * FROM current_filings);
-- Cannot list files under an external table without permissions on it
> LIST `abfss://container@storageaccount.dfs.core.windows.net/depts/finance/sec_filings`
Error
> LIST `abfss://container@storageaccount.dfs.core.windows.net/depts/finance/sec_filings/_delta_log`
Error
-- Grant access to sec_filings to all employees
> GRANT SELECT ON TABLE sec_filings TO employee;
-- Any member of the `employee` group can securely read sec_filings
> SELECT count(1) FROM sec_filings;
20
-- Any member of the `employee` group can list files under the sec_filings table
> LIST `abfss://container@storageaccount.dfs.core.windows.net/depts/finance/sec_filings`
_delta_log
> LIST `abfss://container@storageaccount.dfs.core.windows.net/depts/finance/sec_filings/_delta_log`
00000.json