Modul plug-in schema_merge
Platí pro: ✅Microsoft Fabric✅Azure Data Explorer
Sloučí definice tabulkového schématu do sjednoceného schématu.
Očekává se, že definice schématu budou ve formátu vytvořeném operátorem getschema
.
Operace schema merge
spojuje sloupce ve vstupních schématech a snaží se omezit datové typy na běžné. Pokud se datové typy nedají snížit, zobrazí se v problematickém sloupci chyba.
Modul plug-in se vyvolá pomocí operátoru evaluate
.
Syntaxe
T
|
evaluate
schema_merge(
PreserveOrder)
Přečtěte si další informace o konvencích syntaxe.
Parametry
Název | Type | Požadováno | Popis |
---|---|---|---|
PreserveOrder | bool |
Pokud je nastavená hodnota true , přesměruje modul plug-in k ověření pořadí sloupců podle definice prvního tabulkového schématu, které je zachováno. Pokud je stejný sloupec v několika schématech, musí být pořadový řádek sloupce jako pořadový řádek prvního schématu, ve které se zobrazil. Výchozí hodnota je true . |
Návraty
Modul plug-in schema_merge
vrátí výstup podobný getschema
operátoru.
Příklady
Sloučit se schématem, které má připojený nový sloupec.
let schema1 = datatable(Uri:string, HttpStatus:int)[] | getschema;
let schema2 = datatable(Uri:string, HttpStatus:int, Referrer:string)[] | getschema;
union schema1, schema2 | evaluate schema_merge()
Výstup
ColumnName | Sloupcový pořadový | DataType | ColumnType |
---|---|---|---|
Identifikátor URI | 0 | System.String | string |
HttpStatus | 0 | System.Int32 | int |
Referrer | 2 | System.String | string |
Sloučit se schématem, které má jiné pořadí sloupců (HttpStatus
řadové změny od 1
do 2
nové varianty).
let schema1 = datatable(Uri:string, HttpStatus:int)[] | getschema;
let schema2 = datatable(Uri:string, Referrer:string, HttpStatus:int)[] | getschema;
union schema1, schema2 | evaluate schema_merge()
Výstup
ColumnName | Sloupcový pořadový | DataType | ColumnType |
---|---|---|---|
Identifikátor URI | 0 | System.String | string |
Referrer | 0 | System.String | string |
HttpStatus | -1 | ERROR(neznámý typ CSL:ERROR(sloupce jsou mimo pořadí)) | ERROR(sloupce jsou mimo pořadí) |
Sloučit se schématem, které má jiné řazení sloupců, ale s nastaveným parametrem 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)
Výstup
ColumnName | Sloupcový pořadový | DataType | ColumnType |
---|---|---|---|
Identifikátor URI | 0 | System.String | string |
Referrer | 0 | System.String | string |
HttpStatus | 2 | System.Int32 | int |