共用方式為


schema_merge 外掛程式

適用於: ✅Microsoft網狀架構Azure 數據總管

將表格式架構定義合併成統一的架構。

架構定義必須是運算子所產生的 getschema 格式。

作業 schema merge 會聯結輸入架構中的數據行,並嘗試將數據類型縮減為一般數據類型。 如果無法減少數據類型,就會在有問題的數據行上顯示錯誤。

外掛程式是使用運算子叫 evaluate 用的。

語法

T| evaluate schema_merge(PreserveOrder)

深入瞭解 語法慣例

參數

姓名 類型​​ 必要 描述
PreserveOrder bool 當設定為 true時,會指示外掛程式驗證由保留的第一個表格式架構所定義的數據行順序。 如果相同的數據行位於數個架構中,則數據行序數必須與出現在其中之第一個架構的數據行序數類似。 預設值為 true

傳回

外掛程式 schema_merge 會傳回類似運算符傳回的 getschema 輸出。

範例

與附加新數據行的架構合併。

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

輸出

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

與具有不同數據行排序的架構合併(HttpStatus新變體中的序數變更12)。

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

輸出

ColumnName ColumnOrdinal DataType ColumnType
URI 0 System.String 字串
Referrer 1 System.String 字串
HttpStatus -1 ERROR(未知的 CSL 類型:ERROR(資料行順序錯亂)) ERROR(資料行順序錯亂)

與具有不同資料行排序的架構合併,但設定 PreserveOrderfalse

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)

輸出

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