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


Создание и изменение разностных внешних таблиц в службе хранилища Azure

Команды, приведенные в этой статье, можно использовать для создания или изменения разностной внешней таблицы в базе данных, из которой выполняется команда. Разностная внешняя таблица ссылается на данные таблицы Delta Lake, расположенные в Хранилище BLOB-объектов Azure, Azure Data Lake Store 1-го поколения или Azure Data Lake Store 2-го поколения.

Примечание

Если таблица существует, .create команда завершится ошибкой. Используйте .create-or-alter или .alter для изменения существующих таблиц.

Разрешения

Для .create требуются по крайней мере разрешения пользователя базы данных, а для — .alter по крайней мере разрешения на Администратор таблиц.

Для .create-or-alter внешней таблицы с использованием проверки подлинности с помощью управляемого удостоверения требуются разрешения AllDatabasesAdmin .

Синтаксис

(.create.alter | | .create-or-alter) externaltableTableName [(Схема)] kind(=deltaStorageConnectionString) [with(Свойство [, ...])]

Дополнительные сведения о соглашениях о синтаксисе.

Параметры

Имя Тип Обязательно Описание
TableName string ✔️ Имя внешней таблицы, которая соответствует правилам имен сущностей . Имя внешней таблицы не может совпадать с именем обычной таблицы в той же базе данных.
Схема string Необязательная схема внешних данных представляет собой разделенный запятыми список из одного или нескольких имен столбцов и типов данных, где каждый элемент имеет формат ColumnName:ColumnType. Если он не указан, он будет автоматически выведен из разностного журнала на основе последней версии разностной таблицы.
StorageConnectionString string ✔️ Путь к корневой папке разностной таблицы, включая учетные данные. Может указывать на Хранилище BLOB-объектов Azure контейнер больших двоичных объектов, файловую систему Azure Data Lake 2-го поколения или контейнер Azure Data Lake 1-го поколения. Тип хранилища внешней таблицы определяется предоставленным строка подключения. См. статью Строки подключения к хранилищу.
Свойство string Пара свойств "ключ-значение" в формате PropertyName=PropertyValue. См . дополнительные свойства.

Примечание

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

Совет

Для пользовательской схемы можно использовать подключаемый модуль infer_storage_schema для вывода схемы на основе содержимого внешнего файла.

Аутентификация и авторизация

Метод проверки подлинности для доступа к внешней таблице основан на строка подключения, предоставленных во время ее создания, и разрешения, необходимые для доступа к таблице, зависят от метода проверки подлинности.

Поддерживаемые методы проверки подлинности совпадают с методами, поддерживаемыми внешними таблицами службы хранилища Azure.

Необязательные свойства

Свойство Тип Описание
folder string Папка таблицы
docString string Строка документирования таблицы
namePrefix string Если задано значение , указывает префикс файлов. При операциях записи все файлы будут записываться с этим префиксом. При операциях чтения считываются только файлы с этим префиксом.
fileExtension string Если задано значение , указывает расширения файлов. При записи имена файлов будут заканчиваться этим суффиксом. При чтении будут считываться только файлы с этим расширением.
encoding string Указывает, как кодируется текст: UTF8NoBOM (по умолчанию) или UTF8BOM.
dryRun bool Если задано, определение внешней таблицы не сохраняется. Этот параметр полезен для проверки определения внешней таблицы, особенно в сочетании с параметром filesPreview или sampleUris .

Примечание

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

Примеры

Создание или изменение разностной внешней таблицы с выводимым схемой

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

.create-or-alter external table ExternalTable  
kind=delta 
( 
   h@'https://storageaccount.blob.core.windows.net/container1;secretKey'
) 

Создание разностной внешней таблицы с пользовательской схемой

В следующей внешней таблице указывается пользовательская схема, переопределива схему разностной таблицы. Если позже потребуется заменить пользовательскую схему схемой на основе последней версии разностной таблицы, выполните .alter | .create-or-alter команду, не указывая схему, как в предыдущем примере.

.create external table ExternalTable (Timestamp:datetime, x:long, s:string) 
kind=delta
( 
   h@'abfss://filesystem@storageaccount.dfs.core.windows.net/path;secretKey'
)

Ограничения

  • Перемещение по времени не поддерживается. Используется только последняя версия разностной таблицы.