Azure Storage에서 델타 외부 테이블 만들기 및 변경
적용 대상: ✅Microsoft Fabric✅Azure Data Explorer
이 문서의 명령은 명령이 실행되는 데이터베이스에서 델타 외부 테이블을 만들거나 변경하는 데 사용할 수 있습니다. 델타 외부 테이블은 Azure Blob Storage, Azure Data Lake Store Gen1 또는 Azure Data Lake Store Gen2에 있는 Delta Lake 테이블 데이터를 참조합니다.
참고 항목
테이블이 있는 .create
경우 오류와 함께 명령이 실패합니다. 기존 테이블을 사용 .create-or-alter
하거나 .alter
수정합니다.
외부 델타 테이블에 대한 쿼리를 가속화하려면 쿼리 가속 정책을 참조하세요.
사용 권한
.create
데이터베이스 사용자 이상의 권한이 필요하고 .alter
테이블 관리자 이상의 권한이 필요합니다.
관리 ID 인증을 사용하는 외부 테이블에는 .create-or-alter
AllDatabasesAdmin 권한이 필요합니다.
구문
(.create
.create-or-alter
| .alter
| ) external
table
TableName [(
Schema)
] kind
delta
=
(
StorageConnectionString )
[with
(
Property [,
...]])
구문 규칙에 대해 자세히 알아봅니다.
매개 변수
이름 | Type | 필수 | 설명 |
---|---|---|---|
TableName | string |
✔️ | 엔터티 이름 규칙을 준수하는 외부 테이블 이름 입니다. 외부 테이블은 동일한 데이터베이스의 일반 테이블과 같은 이름을 가질 수 없습니다. |
스키마 | string |
선택적 외부 데이터 스키마는 하나 이상의 열 이름과 데이터 형식의 쉼표로 구분된 목록이며, 각 항목은 ColumnName : ColumnType 형식을 따릅니다. 지정하지 않으면 최신 델타 테이블 버전에 따라 델타 로그에서 자동으로 유추됩니다. |
|
StorageConnectionString | string |
✔️ | 자격 증명을 포함한 델타 테이블 루트 폴더 경로입니다. Azure Blob Storage Blob 컨테이너, Azure Data Lake Gen 2 파일 시스템 또는 Azure Data Lake Gen 1 컨테이너를 가리킬 수 있습니다. 외부 테이블 스토리지 유형은 제공된 연결 문자열 따라 결정됩니다. 스토리지 연결 문자열 참조하세요. |
속성 | string |
PropertyName PropertyValue= 형식의 키-값 속성 쌍입니다. 선택적 속성을 참조하세요. |
참고 항목
팁
사용자 지정 스키마의 경우 infer_storage_schema 플러그 인을 사용하여 외부 파일 콘텐츠를 기반으로 스키마를 유추할 수 있습니다.
인증 및 권한 부여
외부 테이블에 액세스하는 인증 방법은 만드는 동안 제공된 연결 문자열 기반으로 하며 테이블에 액세스하는 데 필요한 권한은 인증 방법에 따라 달라집니다.
지원되는 인증 방법은 Azure Storage 외부 테이블에서 지원하는 인증 방법과 동일합니다.
선택적 속성
속성 | Type | 설명 |
---|---|---|
folder |
string |
테이블의 폴더 |
docString |
string |
테이블을 문서화하는 문자열 |
namePrefix |
string |
설정된 경우 파일의 접두사를 나타냅니다. 쓰기 작업 시 모든 파일은 이 접두사를 사용하여 작성됩니다. 읽기 작업에서는 이 접두사를 가진 파일만 읽습니다. |
fileExtension |
string |
설정된 경우 파일의 파일 확장자를 나타냅니다. 쓰기 시 파일 이름은 이 접미사로 끝납니다. 읽기 시 이 파일 확장자를 가진 파일만 읽습니다. |
encoding |
string |
텍스트가 인코딩되는 UTF8NoBOM 방법(기본값) 또는 UTF8BOM . |
dryRun |
bool |
설정하면 외부 테이블 정의가 유지되지 않습니다. 이 옵션은 특히 또는 sampleUris 매개 변수와 함께 외부 테이블 정의의 유효성을 검사하는 filesPreview 데 유용합니다. |
참고 항목
외부 델타 테이블은 분할 정보 및 선택적으로 스키마를 유추하기 위해 만드는 동안 액세스됩니다. 테이블 정의가 유효하고 스토리지에 액세스할 수 있는지 확인합니다.
예제
유추된 스키마를 사용하여 델타 외부 테이블 만들기 또는 변경
다음 외부 테이블에서 스키마는 최신 델타 테이블 버전에서 자동으로 유추됩니다.
.create-or-alter external table ExternalTable
kind=delta
(
h@'https://storageaccount.blob.core.windows.net/container1;secretKey'
)
사용자 지정 스키마를 사용하여 델타 외부 테이블 만들기
다음 외부 테이블에서 사용자 지정 스키마가 지정되고 델타 테이블의 스키마를 재정의합니다. 나중에 사용자 지정 스키마를 최신 델타 테이블 버전에 따라 스키마로 바꿔야 하는 경우 이전 예제와 같이 스키마를 지정하지 않고 명령을 실행 .alter
| .create-or-alter
합니다.
.create external table ExternalTable (Timestamp:datetime, x:long, s:string)
kind=delta
(
h@'abfss://filesystem@storageaccount.dfs.core.windows.net/path;secretKey'
)
제한 사항
- 시간 이동은 지원되지 않습니다. 최신 델타 테이블 버전만 사용됩니다.