Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Переключение служб с помощью раскрывающегося списка версий . Дополнительные сведения о навигации.
Область применения: ✅ Microsoft Fabric ✅ Azure Data Explorer
Этот подключаемый модуль определяет схему внешних данных и возвращает ее в виде строки схемы CSL. Строку можно использовать при создании внешних таблиц. Подключаемый модуль вызывается оператором evaluate .
Проверка подлинности и авторизация
В свойствах запроса необходимо указать строка подключения хранилища для доступа. Каждый строка подключения хранилища задает метод авторизации, используемый для доступа к хранилищу. В зависимости от метода авторизации субъекту может потребоваться предоставить разрешения на внешнее хранилище для выполнения вывода схемы.
В следующей таблице перечислены поддерживаемые методы проверки подлинности и все необходимые разрешения по типу хранилища.
| Метод аутентификации | Хранилище BLOB-объектов Azure / Data Lake Storage 2-го поколения | Azure Data Lake Storage 1-го поколения |
|---|---|---|
| Олицетворение | Читатель данных больших двоичных объектов хранилища | Читатель |
| Управляемая идентичность | Читатель данных больших двоичных объектов хранилища | Читатель |
| Маркер общего доступа (SAS) | Список и чтение | Этот метод проверки подлинности не поддерживается в 1-м поколениях. |
| Маркер доступа Microsoft Entra | ||
| Ключ доступа к учетной записи хранения | Этот метод проверки подлинности не поддерживается в 1-м поколениях. |
| Метод аутентификации | Хранилище BLOB-объектов Azure / Data Lake Storage 2-го поколения | Azure Data Lake Storage 1-го поколения |
|---|---|---|
| Олицетворение | Читатель данных больших двоичных объектов хранилища | Читатель |
| Маркер общего доступа (SAS) | Список и чтение | Этот метод проверки подлинности не поддерживается в 1-м поколениях. |
| Маркер доступа Microsoft Entra | ||
| Ключ доступа к учетной записи хранения | Этот метод проверки подлинности не поддерживается в 1-м поколениях. |
Синтаксис
evaluate
infer_storage_schema(
Параметры)
Дополнительные сведения о соглашениях синтаксиса.
Параметры
| Имя (название) | Type | Обязательно | Описание |
|---|---|---|---|
| Параметры | dynamic |
✔️ | Контейнер свойств, указывающий свойства запроса. |
Поддерживаемые свойства запроса
| Имя (название) | Type | Обязательно | Описание |
|---|---|---|---|
| StorageContainers | dynamic |
✔️ | Массив строка подключения хранилища, представляющий URI префикса для сохраненных артефактов данных. |
| DataFormat | string |
✔️ | Один из поддерживаемых форматов данных. |
| FileExtension | string |
Если задано, функция сканирует только файлы, заканчивающиеся этим расширением. Указание расширения может ускорить процесс или устранить проблемы с чтением данных. | |
| FileNamePrefix | string |
Если задано, функция сканирует только файлы, начиная с этого префикса. Указание префикса может ускорить процесс. | |
| Режим | string |
Стратегия вывода схемы. Значение: any, lastall. Функция выводит схему данных из первого найденного файла, из последнего записанного файла или из всех файлов соответственно. Значение по умолчанию — last. |
|
| InferenceOptions | dynamic |
Дополнительные варианты вывода. Допустимые параметры: UseFirstRowAsHeader для форматов файлов с разделителями. Например, 'InferenceOptions': {'UseFirstRowAsHeader': true}. |
Возвраты
Подключаемый infer_storage_schema модуль возвращает одну таблицу результатов, содержащую одну строку или столбец, содержащую строку схемы CSL.
Примечание.
- Ключи секрета контейнера хранилища должны иметь разрешения для списка в дополнение к 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'
)