다음을 통해 공유


schema_merge 플러그 인

적용 대상: ✅Microsoft Fabric✅Azure Data Explorer

테이블 형식 스키마 정의를 통합 스키마에 병합합니다.

스키마 정의는 연산자가 생성하는 getschema 형식이어야 합니다.

schema merge 작업은 입력 스키마의 열을 조인하고 데이터 형식을 일반적인 열로 줄이려고 시도합니다. 데이터 형식을 줄일 수 없는 경우 문제가 있는 열에 오류가 표시됩니다.

플러그 인은 연산자를 사용하여 호출됩니다 evaluate .

구문

T| evaluate schema_merge(PreserveOrder)

구문 규칙에 대해 자세히 알아봅니다.

매개 변수

이름 Type 필수 설명
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

열 순서가 다른 스키마와 병합합니다(HttpStatus 새 변형에서 1 2 서수 변경).

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(열 순서가 잘못됨)

열 순서가 다르지만 으로 설정된 스키마와 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)

출력

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