подключаемый модуль infer_storage_schema_with_suggestions
Область применения: ✅Microsoft Fabric✅Azure Data Explorer
Этот infer_storage_schema_with_suggestions
подключаемый модуль определяет схему внешних данных и возвращает объект JSON. Для каждого столбца объект предоставляет выводимый тип, рекомендуемый тип и рекомендуемое преобразование сопоставления. Рекомендуемый тип и сопоставление предоставляются логикой предложения, которая определяет оптимальный тип с помощью следующей логики:
- Столбцы удостоверений: если выводимый тип столбца имеет
long
значение, а имя столбца заканчиваетсяid
, рекомендуемый тип заключаетсяstring
в том, что он обеспечивает оптимизированное индексирование для столбцов удостоверений, где фильтры равенства являются общими. - Столбцы даты и времени Unix: если выводимый тип столбца является
long
одним из преобразований сопоставления даты и времени unix, создается допустимое значение datetime, предлагаемый тип —datetime
ApplicableTransformationMapping
это тот, который создал допустимое значение datetime.
Подключаемый модуль вызывается оператором evaluate
. Чтобы получить схему таблицы, которая использует выводную схему для создания и изменения служба хранилища Azure внешних таблиц без предложений, используйте подключаемый модуль infer_storage_schema.
Проверка подлинности и авторизация
В свойствах запроса необходимо указать строка подключения хранилища для доступа. Каждый строка подключения хранилища задает метод авторизации, используемый для доступа к хранилищу. В зависимости от метода авторизации субъекту может потребоваться предоставить разрешения на внешнее хранилище для выполнения вывода схемы.
В следующей таблице перечислены поддерживаемые методы проверки подлинности и все необходимые разрешения по типу хранилища.
Authentication method | Хранилище BLOB-объектов Azure / Data Lake Storage 2-го поколения | Azure Data Lake Storage 1-го поколения |
---|---|---|
Олицетворение | Читатель данных больших двоичных объектов хранилища | Читатель |
Маркер общего доступа (SAS) | Список и чтение | Этот метод проверки подлинности не поддерживается в 1-м поколениях. |
Маркер доступа Microsoft Entra | ||
Ключ доступа к учетной записи хранения | Этот метод проверки подлинности не поддерживается в 1-м поколениях. |
Синтаксис
evaluate
infer_storage_schema_with_suggestions(
Параметры )
Дополнительные сведения о соглашениях синтаксиса.
Параметры
Имя (название) | Type | Обязательно | Описание |
---|---|---|---|
Параметры | dynamic |
✔️ | Контейнер свойств, указывающий свойства запроса. |
Поддерживаемые свойства запроса
Имя. | Type | Обязательно | Описание |
---|---|---|---|
StorageContainers | dynamic |
✔️ | Массив строка подключения хранилища, представляющий URI префикса для сохраненных артефактов данных. |
DataFormat | string |
✔️ | Один из поддерживаемых форматов данных, поддерживаемых для приема |
FileExtension | string |
Если задано, функция сканирует только файлы, заканчивающиеся этим расширением. Указание расширения может ускорить процесс или устранить проблемы с чтением данных. | |
FileNamePrefix | string |
Если задано, функция сканирует только файлы, начиная с этого префикса. Указание префикса может ускорить процесс. | |
Режим | string |
Стратегия вывода схемы. Значение: any , last all . Функция выводит схему данных из первого найденного файла, из последнего записанного файла или из всех файлов соответственно. Значение по умолчанию — last . |
|
InferenceOptions | dynamic |
Дополнительные варианты вывода. Допустимые параметры: UseFirstRowAsHeader для форматов файлов с разделителями. Например, 'InferenceOptions': {'UseFirstRowAsHeader': true} . |
Возвраты
Подключаемый infer_storage_schema_with_suggestions
модуль возвращает одну таблицу результатов, содержащую одну строку или столбец, содержащую строку JSON.
Примечание.
- Ключи секрета контейнера хранилища должны иметь разрешения для списка в дополнение к read.
- Стратегия вывода схемы "все" является очень "дорогой" операцией, так как она подразумевает чтение всех найденных артефактов и слияние их схемы.
- Некоторые возвращаемые типы могут не быть фактическими в результате неправильного предположения типа (или в результате процесса слияния схемы). Именно поэтому перед их использованием следует тщательно просмотреть результат.
Пример
let options = dynamic({
'StorageContainers': [
h@'https://storageaccount.blob.core.windows.net/MobileEvents;secretKey'
],
'FileExtension': '.json',
'FileNamePrefix': 'js-',
'DataFormat': 'json'
});
evaluate infer_storage_schema_with_suggestions(options)
Пример входных данных
{
"source": "DataExplorer",
"created_at": "2022-04-10 15:47:57",
"author_id": 739144091473215488,
"time_millisec":1547083647000
}
Выходные данные
{
"Columns": [
{
"OriginalColumn": {
"Name": "source",
"CslType": {
"type": "string",
"IsNumeric": false,
"IsSummable": false
}
},
"RecommendedColumn": {
"Name": "source",
"CslType": {
"type": "string",
"IsNumeric": false,
"IsSummable": false
}
},
"ApplicableTransformationMapping": "None"
},
{
"OriginalColumn": {
"Name": "created_at",
"CslType": {
"type": "datetime",
"IsNumeric": false,
"IsSummable": true
}
},
"RecommendedColumn": {
"Name": "created_at",
"CslType": {
"type": "datetime",
"IsNumeric": false,
"IsSummable": true
}
},
"ApplicableTransformationMapping": "None"
},
{
"OriginalColumn": {
"Name": "author_id",
"CslType": {
"type": "long",
"IsNumeric": true,
"IsSummable": true
}
},
"RecommendedColumn": {
"Name": "author_id",
"CslType": {
"type": "string",
"IsNumeric": false,
"IsSummable": false
}
},
"ApplicableTransformationMapping": "None"
},
{
"OriginalColumn": {
"Name": "time_millisec",
"CslType": {
"type": "long",
"IsNumeric": true,
"IsSummable": true
}
},
"RecommendedColumn": {
"Name": "time_millisec",
"CslType": {
"type": "datetime",
"IsNumeric": false,
"IsSummable": true
}
},
"ApplicableTransformationMapping": "DateTimeFromUnixMilliseconds"
}
]
}