Complemento schema_merge
Se aplica a: ✅Microsoft Fabric✅Azure Data Explorer
Combina definiciones de esquema tabular en un esquema unificado.
Se espera que las definiciones de esquema estén en el formato generado por el getschema
operador .
La schema merge
operación combina columnas en esquemas de entrada e intenta reducir los tipos de datos a los comunes. Si no se pueden reducir los tipos de datos, se muestra un error en la columna problemática.
El complemento se invoca con el evaluate
operador .
Sintaxis
T
|
evaluate
schema_merge(
PreserveOrder)
Obtenga más información sobre las convenciones de sintaxis.
Parámetros
Nombre | Type | Obligatorio | Descripción |
---|---|---|---|
PreserveOrder | bool |
Cuando se establece true en , dirige el complemento para validar el orden de columna tal y como se define en el primer esquema tabular que se mantiene. Si la misma columna está en varios esquemas, el ordinal de columna debe ser similar al ordinal de columna del primer esquema en el que apareció. El valor predeterminado es true . |
Devoluciones
El schema_merge
complemento devuelve una salida similar a la que devuelve el getschema
operador.
Ejemplos
Combine con un esquema que tenga una nueva columna anexada.
let schema1 = datatable(Uri:string, HttpStatus:int)[] | getschema;
let schema2 = datatable(Uri:string, HttpStatus:int, Referrer:string)[] | getschema;
union schema1, schema2 | evaluate schema_merge()
Salida
ColumnName | ColumnOrdinal | DataType | ColumnType |
---|---|---|---|
Identificador URI | 0 | System.String | string |
HttpStatus | 1 | System.Int32 | int |
Referrer | 2 | System.String | string |
Combine con un esquema que tenga una ordenación de columnas diferente (HttpStatus
cambios ordinales de 1
a 2
en la nueva variante).
let schema1 = datatable(Uri:string, HttpStatus:int)[] | getschema;
let schema2 = datatable(Uri:string, Referrer:string, HttpStatus:int)[] | getschema;
union schema1, schema2 | evaluate schema_merge()
Salida
ColumnName | ColumnOrdinal | DataType | ColumnType |
---|---|---|---|
Identificador URI | 0 | System.String | string |
Referrer | 1 | System.String | string |
HttpStatus | -1 | ERROR(unknown CSL type:ERROR(columns are out of order)) | ERROR(las columnas no están ordenadas) |
Combine con un esquema que tenga un orden de columna diferente, pero con establecido false
en PreserveOrder
.
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)
Salida
ColumnName | ColumnOrdinal | DataType | ColumnType |
---|---|---|---|
Identificador URI | 0 | System.String | string |
Referrer | 1 | System.String | string |
HttpStatus | 2 | System.Int32 | int |