Поделиться через


Подключаемый модуль 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