Plug-in schema_merge
Aplica-se a: ✅Microsoft Fabric✅Azure Data Explorer
Mescla definições de esquema tabular em um esquema unificado.
Espera-se que as definições de esquema estejam no formato produzido pelo getschema
operador.
A schema merge
operação une colunas em esquemas de entrada e tenta reduzir os tipos de dados aos comuns. Se os tipos de dados não puderem ser reduzidos, um erro será exibido na coluna problemática.
O plug-in é invocado com o evaluate
operador.
Sintaxe
T
|
evaluate
schema_merge(
Preservar Ordem)
Saiba mais sobre as convenções de sintaxe.
Parâmetros
Nome | Digitar | Obrigatória | Descrição |
---|---|---|---|
Preservar Ordem | bool |
Quando definido como true , direciona o plug-in para validar a ordem das colunas, conforme definido pelo primeiro esquema tabular mantido. Se a mesma coluna estiver em vários esquemas, o ordinal da coluna deverá ser como o ordinal da coluna do primeiro esquema em que apareceu. O valor padrão é true . |
Devoluções
O schema_merge
plug-in retorna uma saída semelhante à que o getschema
operador retorna.
Exemplos
Mescle com um esquema que tenha uma nova coluna 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()
Saída
ColumnName | Ordinal de coluna | DataType | ColumnType |
---|---|---|---|
Uri | 0 | System.String | string |
HttpStatus | 1 | System.Int32 | int |
Referenciador | 2 | System.String | string |
Mescle com um esquema que tenha uma ordem de coluna diferente (HttpStatus
alterações ordinais de 1
para 2
na nova 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()
Saída
ColumnName | Ordinal de coluna | DataType | ColumnType |
---|---|---|---|
Uri | 0 | System.String | string |
Referenciador | 1 | System.String | string |
HttpStatus | -1 | ERROR(tipo de CSL desconhecido:ERROR(as colunas estão fora de ordem)) | ERRO(as colunas estão fora de ordem) |
Mescle com um esquema que tenha uma ordem de coluna diferente, mas com PreserveOrder
definido como 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)
Saída
ColumnName | Ordinal de coluna | DataType | ColumnType |
---|---|---|---|
Uri | 0 | System.String | string |
Referenciador | 1 | System.String | string |
HttpStatus | 2 | System.Int32 | int |