Sdílet prostřednictvím


Modul plug-in schema_merge

Platí pro: ✅Microsoft FabricAzure 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