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 |