Создание и изменение разностных внешних таблиц в службе хранилища 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
) external
table
TableName [(
Схема)
] kind
(
=
delta
StorageConnectionString)
[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'
)
Ограничения
- Перемещение по времени не поддерживается. Используется только последняя версия разностной таблицы.
См. также
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по