Подключаемый модуль schema_merge
Область применения: ✅Microsoft Fabric✅Azure Data Explorer
Объединяет определения табличной схемы в единую схему.
Ожидается, что определения схемы будут иметь формат, созданный оператором getschema
.
Операция schema merge
объединяет столбцы в входных схемах и пытается сократить типы данных до распространенных. Если типы данных не могут быть сокращены, ошибка отображается в проблемном столбце.
Подключаемый модуль вызывается оператором evaluate
.
Синтаксис
T
|
evaluate
schema_merge(
СохранитьOrder)
Дополнительные сведения о соглашениях синтаксиса.
Параметры
Имя (название) | Type | Обязательно | Описание |
---|---|---|---|
СохранитьOrder | bool |
Если задано значение true , подключаемый модуль направляет подключаемый модуль для проверки порядка столбцов, как определено первой табличной схемой, которая хранится. Если один и тот же столбец находится в нескольких схемах, порядковый номер столбца должен быть похож на порядковый номер столбца первой схемы, в которую она появилась. Значение по умолчанию: true . |
Возвраты
Подключаемый модуль возвращает выходные schema_merge
данные, аналогичные возвращаемому оператору getschema
.
Примеры
Слияние со схемой с добавлением нового столбца.
let schema1 = datatable(Uri:string, HttpStatus:int)[] | getschema;
let schema2 = datatable(Uri:string, HttpStatus:int, Referrer:string)[] | getschema;
union schema1, schema2 | evaluate schema_merge()
Выходные данные
ColumnName | ColumnOrdinal | Тип данных | ColumnType |
---|---|---|---|
URI-адрес | 0 | System.String | строка |
HttpStatus | 1 | System.Int32 | INT |
Referrer | 2 | System.String | строка |
Слияние с схемой, которая имеет другое упорядочение столбцов (HttpStatus
порядковые изменения от 1
2
нового варианта).
let schema1 = datatable(Uri:string, HttpStatus:int)[] | getschema;
let schema2 = datatable(Uri:string, Referrer:string, HttpStatus:int)[] | getschema;
union schema1, schema2 | evaluate schema_merge()
Выходные данные
ColumnName | ColumnOrdinal | Тип данных | ColumnType |
---|---|---|---|
URI-адрес | 0 | System.String | строка |
Referrer | 1 | System.String | строка |
HttpStatus | -1 | ERROR(неизвестный тип CSL:ERROR(столбцы не упорядочены)) | ERROR(столбцы не упорядочены) |
Слияние со схемой, которая имеет другое упорядочение столбцов, но с PreserveOrder
заданным значением false
.
let schema1 = datatable(Uri:string, HttpStatus:int)[] | getschema;
let schema2 = datatable(Uri:string, Referrer:string, HttpStatus:int)[] | getschema;
union schema1, schema2 | evaluate schema_merge(PreserveOrder = false)
Выходные данные
ColumnName | ColumnOrdinal | Тип данных | ColumnType |
---|---|---|---|
URI-адрес | 0 | System.String | строка |
Referrer | 1 | System.String | строка |
HttpStatus | 2 | System.Int32 | INT |