Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: ✅Microsoft Fabric✅Azure Data Explorer
Scala definicje schematów tabelarycznych w ujednolicony schemat.
Definicje schematu powinny być w formacie utworzonym getschema przez operator.
Operacja schema merge łączy kolumny w schematach wejściowych i próbuje zmniejszyć typy danych do typowych. Jeśli nie można zmniejszyć typów danych, w problematycznej kolumnie zostanie wyświetlony błąd.
Wtyczka jest wywoływana z operatorem evaluate .
Składnia
T| evaluate schema_merge(PreserveOrder)
Dowiedz się więcej na temat konwencji składni.
Parametry
| Nazwisko | Type | Wymagania | opis |
|---|---|---|---|
| PreserveOrder | bool |
Po ustawieniu truewartości na wtyczka przekierowuje wtyczkę w celu zweryfikowania kolejności kolumn zgodnie z definicją pierwszego schematu tabelarycznego, który jest przechowywany. Jeśli ta sama kolumna znajduje się w kilku schematach, porządkowa kolumna musi być podobna do porządkowej kolumny pierwszego schematu, w którego się pojawił. Wartość domyślna to true. |
Zwraca
Wtyczka schema_merge zwraca dane wyjściowe podobne do zwracanych getschema przez operator.
Przykłady
Scal z schematem, który ma dołączoną nową kolumnę.
let schema1 = datatable(Uri:string, HttpStatus:int)[] | getschema;
let schema2 = datatable(Uri:string, HttpStatus:int, Referrer:string)[] | getschema;
union schema1, schema2 | evaluate schema_merge()
Wyjście
| ColumnName | KolumnaOrdinal | DataType | Typ kolumny |
|---|---|---|---|
| Identyfikator URI | 0 | System.String | string |
| HttpStatus | 1 | System.Int32 | int |
| Referrer | 2 | System.String | string |
Scal z schematem, który ma inne kolejność kolumn (HttpStatus zmiany porządkowe z 1 na 2 w nowym wariantie).
let schema1 = datatable(Uri:string, HttpStatus:int)[] | getschema;
let schema2 = datatable(Uri:string, Referrer:string, HttpStatus:int)[] | getschema;
union schema1, schema2 | evaluate schema_merge()
Wyjście
| ColumnName | KolumnaOrdinal | DataType | Typ kolumny |
|---|---|---|---|
| Identyfikator URI | 0 | System.String | string |
| Referrer | 1 | System.String | string |
| HttpStatus | -1 | ERROR(nieznany typ CSL:ERROR(kolumny są poza kolejnością)) | ERROR(kolumny są poza kolejnością) |
Scal z schematem, który ma inne kolejność kolumn, ale z ustawioną wartością 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)
Wyjście
| ColumnName | KolumnaOrdinal | DataType | Typ kolumny |
|---|---|---|---|
| Identyfikator URI | 0 | System.String | string |
| Referrer | 1 | System.String | string |
| HttpStatus | 2 | System.Int32 | int |