infer_storage_schema_with_suggestions 플러그 인
적용 대상: ✅Microsoft Fabric✅Azure Data Explorer
이 infer_storage_schema_with_suggestions
플러그 인은 외부 데이터의 스키마를 유추하고 JSON 개체를 반환합니다. 각 열에 대해 개체는 유추된 형식, 권장 형식 및 권장 매핑 변환을 제공합니다. 권장되는 형식 및 매핑은 다음 논리를 사용하여 최적의 형식을 결정하는 제안 논리에 의해 제공됩니다.
- ID 열: 열에 대해 유추된 형식이
long
있고 열 이름이 끝나는id
경우 제안된 형식은 같음 필터가string
공통인 ID 열에 최적화된 인덱싱을 제공하기 때문에 발생합니다. - Unix datetime 열: 열에 대해 유추된 형식이
long
있고 unix-time to datetime 매핑 변환 중 하나가 유효한 datetime 값을 생성하는 경우 제안된 형식이며 제안된ApplicableTransformationMapping
매핑은 유효한 datetime 값을 생성한 형식입니다datetime
.
플러그 인은 연산자를 사용하여 호출됩니다 evaluate
. 제안 없이 Azure Storage 외부 테이블 만들기 및 변경에 유추된 스키마를 사용하는 테이블 스키마를 가져오려면 infer_storage_schema 플러그 인을 사용합니다.
인증 및 권한 부여
요청의 속성에서 액세스할 스토리지 연결 문자열 지정합니다. 각 스토리지 연결 문자열 스토리지에 액세스하는 데 사용할 권한 부여 방법을 지정합니다. 권한 부여 방법에 따라 스키마 유추를 수행하려면 보안 주체에게 외부 스토리지에 대한 권한을 부여해야 할 수 있습니다.
다음 표에서는 지원되는 인증 방법 및 스토리지 유형별 필요한 사용 권한을 나열합니다.
인증 방법 | Azure Blob Storage/Data Lake Storage Gen2 | Data Lake Storage Gen1 |
---|---|---|
가장 | Storage Blob 데이터 읽기 권한자 | 판독기 |
공유 액세스 (SAS) 토큰 | 목록 + 읽기 | 이 인증 방법은 Gen1에서 지원되지 않습니다. |
Microsoft Entra 액세스 토큰 | ||
스토리지 계정 액세스 키 | 이 인증 방법은 Gen1에서 지원되지 않습니다. |
구문
evaluate
infer_storage_schema_with_suggestions(
옵션 )
구문 규칙에 대해 자세히 알아봅니다.
매개 변수
이름 | Type | 필수 | 설명 |
---|---|---|---|
옵션 | dynamic |
✔️ | 요청의 속성을 지정하는 속성 모음입니다. |
요청의 지원되는 속성
속성 | Type | 필수 | 설명 |
---|---|---|---|
StorageContainers | dynamic |
✔️ | 저장된 데이터 아티팩트용 접두사 URI를 나타내는 스토리지 연결 문자열 배열입니다. |
DataFormat | string |
✔️ | 수집에 지원되는 데이터 형식 중 하나 |
FileExtension | string |
지정된 경우 함수는 이 파일 확장으로 끝나는 파일만 검색합니다. 확장을 지정하면 프로세스 속도가 빨라지거나 데이터 읽기 문제가 제거됩니다. | |
FileNamePrefix | string |
지정된 경우 함수는 이 접두사로 시작하는 파일만 검색합니다. 접두사를 지정하면 프로세스 속도가 빨라질 수 있습니다. | |
모드 | string |
스키마 유추 전략입니다. 값: any , . last all 이 함수는 처음 찾은 파일, 마지막으로 쓴 파일 또는 모든 파일에서 각각 데이터 스키마를 유추합니다. 기본값은 last 입니다. |
|
InferenceOptions | dynamic |
더 많은 유추 옵션. 유효한 옵션: UseFirstRowAsHeader 구분된 파일 형식의 경우. 예: 'InferenceOptions': {'UseFirstRowAsHeader': true} . |
반품
플러그 인은 infer_storage_schema_with_suggestions
JSON 문자열을 포함하는 단일 행/열을 포함하는 단일 결과 테이블을 반환합니다.
참고 항목
- 스토리지 컨테이너 URI 비밀 키에는 읽기 외에도 목록에 대한 권한이 있어야 합니다.
- 스키마 유추 전략 'all'은 찾은 모든 아티팩트를 읽고 스키마를 병합하는 것을 의미하므로 매우 "비용이 많이 드는" 작업입니다.
- 일부 반환된 형식은 잘못된 형식 추측(또는 스키마 병합 프로세스의 결과로)의 결과로 실제 형식이 아닐 수 있습니다. 따라서 결과를 사용하기 전에 신중하게 검토해야 합니다.
예시
let options = dynamic({
'StorageContainers': [
h@'https://storageaccount.blob.core.windows.net/MobileEvents;secretKey'
],
'FileExtension': '.json',
'FileNamePrefix': 'js-',
'DataFormat': 'json'
});
evaluate infer_storage_schema_with_suggestions(options)
입력 데이터 예제
{
"source": "DataExplorer",
"created_at": "2022-04-10 15:47:57",
"author_id": 739144091473215488,
"time_millisec":1547083647000
}
출력
{
"Columns": [
{
"OriginalColumn": {
"Name": "source",
"CslType": {
"type": "string",
"IsNumeric": false,
"IsSummable": false
}
},
"RecommendedColumn": {
"Name": "source",
"CslType": {
"type": "string",
"IsNumeric": false,
"IsSummable": false
}
},
"ApplicableTransformationMapping": "None"
},
{
"OriginalColumn": {
"Name": "created_at",
"CslType": {
"type": "datetime",
"IsNumeric": false,
"IsSummable": true
}
},
"RecommendedColumn": {
"Name": "created_at",
"CslType": {
"type": "datetime",
"IsNumeric": false,
"IsSummable": true
}
},
"ApplicableTransformationMapping": "None"
},
{
"OriginalColumn": {
"Name": "author_id",
"CslType": {
"type": "long",
"IsNumeric": true,
"IsSummable": true
}
},
"RecommendedColumn": {
"Name": "author_id",
"CslType": {
"type": "string",
"IsNumeric": false,
"IsSummable": false
}
},
"ApplicableTransformationMapping": "None"
},
{
"OriginalColumn": {
"Name": "time_millisec",
"CslType": {
"type": "long",
"IsNumeric": true,
"IsSummable": true
}
},
"RecommendedColumn": {
"Name": "time_millisec",
"CslType": {
"type": "datetime",
"IsNumeric": false,
"IsSummable": true
}
},
"ApplicableTransformationMapping": "DateTimeFromUnixMilliseconds"
}
]
}