次の方法で共有


schema_merge プラグイン

適用対象: ✅Microsoft FabricAzure データ エクスプローラー

表形式スキーマ定義を統合スキーマにマージします。

スキーマ定義は、 getschema 演算子によって生成される形式である必要があります。

この schema merge 操作は、入力スキーマの列を結合し、データ型を一般的な型に減らそうとします。 データ型を減らすことができない場合は、問題のある列にエラーが表示されます。

このプラグインは、evaluate 演算子を使用して呼び出されます。

構文

T| evaluate schema_merge(PreserveOrder)

構文規則について詳しく知る。

パラメーター

件名 タイプ Required 説明
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 string
HttpStatus 1 System.Int32 int
Referrer 2 System.String string

列の順序が異なるスキーマとマージします (新しいバリアントで 1 から 2 への HttpStatus 序数変更)。

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 string
Referrer 1 System.String 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 string
Referrer 1 System.String string
HttpStatus 2 System.Int32 int