Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Переключайте службы с помощью раскрывающегося списка Версия. Дополнительные сведения о навигации.
Область применения: ✅ 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 порядковые изменения от 12 нового варианта).
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 |