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 |