Freigeben über


Plug-In „schema_merge“

Gilt für: ✅Microsoft Fabric✅Azure Data Explorer

Führt tabellarische Schemadefinitionen in einem einheitlichen Schema zusammen.

Schemadefinitionen werden voraussichtlich im vom getschema Operator erstellten Format vorliegen.

Der schema merge Vorgang verknüpft Spalten in Eingabeschemas und versucht, Datentypen auf häufig verwendete Zusätze zu reduzieren. Wenn Datentypen nicht reduziert werden können, wird in der problematischen Spalte ein Fehler angezeigt.

Das Plug-In wird mit dem evaluate Operator aufgerufen.

Syntax

T| evaluate schema_merge(PreserveOrder)

Erfahren Sie mehr über Syntaxkonventionen.

Parameter

Name Type Erforderlich Beschreibung
PreserveOrder bool Bei Festlegung auf true, leitet das Plug-In an, um die Spaltenreihenfolge gemäß der Definition durch das erste tabellarische Schema zu überprüfen, das beibehalten wird. Wenn sich dieselbe Spalte in mehreren Schemas befindet, muss die Spalten-Ordnungszahl wie die Spalten-Ordnungszahl des ersten Schemas sein, in dem sie angezeigt wurde. Der Standardwert ist true.

Gibt zurück

Das schema_merge Plug-In gibt die Ausgabe zurück, die mit dem getschema Operator vergleichbar ist.

Beispiele

Zusammenführen mit einem Schema, das eine neue Spalte angefügt hat.

let schema1 = datatable(Uri:string, HttpStatus:int)[] | getschema;
let schema2 = datatable(Uri:string, HttpStatus:int, Referrer:string)[] | getschema;
union schema1, schema2 | evaluate schema_merge()

Output

ColumnName ColumnOrdinal DataType ColumnType
URI 0 System.String Zeichenfolge
HttpStatus 1 System.Int32 int
Referrer 2 System.String Zeichenfolge

Zusammenführen mit einem Schema mit unterschiedlicher Spaltenreihenfolge (HttpStatus Ordinaländerungen von 1 in 2 die neue 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()

Output

ColumnName ColumnOrdinal DataType ColumnType
URI 0 System.String Zeichenfolge
Referrer 1 System.String Zeichenfolge
HttpStatus -1 ERROR(unbekannter CSL-Typ:ERROR(Spalten sind nicht in ordnung)) FEHLER(Spalten sind nicht in der Reihenfolge)

Zusammenführen mit einem Schema mit unterschiedlicher Spaltenreihenfolge, aber mit PreserveOrder Festgelegt auf 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)

Output

ColumnName ColumnOrdinal DataType ColumnType
URI 0 System.String Zeichenfolge
Referrer 1 System.String Zeichenfolge
HttpStatus 2 System.Int32 int