Подключаемый модуль infer_storage_schema
Этот подключаемый модуль определяет схему внешних данных и возвращает ее в виде строки схемы CSL. Строку можно использовать при создании внешних таблиц. Подключаемый модуль вызывается с evaluate
помощью оператора .
Аутентификация и авторизация
В свойствах запроса указываются строки подключения к хранилищу для доступа. Каждый строка подключения хранилища определяет метод авторизации, используемый для доступа к хранилищу. В зависимости от метода авторизации субъекту может потребоваться предоставить разрешения на внешнее хранилище для выполнения вывода схемы.
В следующей таблице перечислены поддерживаемые методы проверки подлинности и все необходимые разрешения по типу хранилища.
Метод проверки подлинности | Хранилище BLOB-объектов Azure / Data Lake Storage 2-го поколения | Azure Data Lake Storage 1-го поколения |
---|---|---|
Олицетворение | Читатель данных больших двоичных объектов хранилища | Читатель |
Маркер общего доступа (SAS) | Список + Чтение | Этот метод проверки подлинности не поддерживается в 1-м м поколениях. |
маркер доступа Microsoft Entra | ||
Ключ доступа к учетной записи хранения | Этот метод проверки подлинности не поддерживается в 1-м м поколениях. |
Синтаксис
evaluate
infer_storage_schema(
Параметры)
Дополнительные сведения о соглашениях о синтаксисе.
Параметры
Имя | Тип | Обязательно | Описание |
---|---|---|---|
Параметры | dynamic |
✔️ | Контейнер свойств, указывающий свойства запроса. |
Поддерживаемые свойства запроса
Имя | Тип | Обязательно | Описание |
---|---|---|---|
StorageContainers | dynamic |
✔️ | Массив строк подключения к хранилищу , представляющих URI префикса для артефактов сохраненных данных. |
DataFormat | string |
✔️ | Один из поддерживаемых форматов данных. |
FileExtension | string |
Если этот параметр указан, функция будет сканировать только файлы, заканчивающиеся этим расширением. Указание расширения может ускорить процесс или устранить проблемы с чтением данных. | |
FileNamePrefix | string |
Если этот параметр указан, функция будет проверять только файлы, начиная с этого префикса. Указание префикса может ускорить процесс. | |
Режим | string |
Стратегия вывода схемы. Значение: any , last , all . Функция выводит схему данных из первого найденного файла, из последнего записанного файла или из всех файлов соответственно. Значение по умолчанию — last . |
Возвращаемое значение
Подключаемый infer_storage_schema
модуль возвращает одну таблицу результатов, содержащую одну строку или столбец со строкой схемы CSL.
Примечание
- Секретные ключи URI контейнера хранилища должны иметь разрешения для списка в дополнение к read.
- Стратегия вывода схемы "все" является очень "дорогостоящей" операцией, так как она подразумевает чтение всех найденных артефактов и слияние их схемы.
- Некоторые возвращаемые типы могут не быть фактическими в результате неправильного угадываемого типа (или в результате процесса слияния схемы). Поэтому перед созданием внешней таблицы следует тщательно проверить результат.
Пример
let options = dynamic({
'StorageContainers': [
h@'https://storageaccount.blob.core.windows.net/MobileEvents;secretKey'
],
'FileExtension': '.parquet',
'FileNamePrefix': 'part-',
'DataFormat': 'parquet'
});
evaluate infer_storage_schema(options)
Выходные данные
CslSchema |
---|
app_id:string, user_id:long, event_time:datetime, country:string, city:string, device_type:string, device_vendor:string, ad_network:string, campaign:string, site_id:string, event_type:string, event_name:string, organic:string, days_from_install:int, revenue:real |
Используйте возвращаемую схему во внешнем определении таблицы:
.create external table MobileEvents(
app_id:string, user_id:long, event_time:datetime, country:string, city:string, device_type:string, device_vendor:string, ad_network:string, campaign:string, site_id:string, event_type:string, event_name:string, organic:string, days_from_install:int, revenue:real
)
kind=blob
partition by (dt:datetime = bin(event_time, 1d), app:string = app_id)
pathformat = ('app=' app '/dt=' datetime_pattern('yyyyMMdd', dt))
dataformat = parquet
(
h@'https://storageaccount.blob.core.windows.net/MovileEvents;secretKey'
)
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по