DeltaLake 테이블 생성하기
기본적으로 Delta Lake 테이블은 이미 S3, GCP 또는 Azure 스토리지에 존재해야 하며, 아래 명령은 DDL 컬럼 정의 없이 해당 테이블에 연결합니다.allow_delta_lake_create_table = 1을 사용하면 _delta_log가 없는 위치에서 명시적으로 컬럼을 지정한 CREATE TABLE 문이 delta-kernel-rs를 통해 초기 커밋을 기록하여 새 Delta Lake 테이블을 생성합니다(파티션 테이블 생성은 아직 지원되지 않음). Unity DataLakeCatalog 데이터베이스 내에서는 테이블이 카탈로그에도 등록됩니다.
- S3
- GCP
- Azure
구문엔진 매개변수명명된 컬렉션 사용:
url— 기존 Delta Lake 테이블 경로를 포함한 버킷 URL입니다.aws_access_key_id,aws_secret_access_key- AWS 계정 사용자의 장기 자격 증명입니다. 요청 인증에 사용할 수 있습니다. 이 매개변수는 선택 사항입니다. 자격 증명을 지정하지 않으면 설정 파일의 값이 사용됩니다.extra_credentials- 선택 사항입니다. ClickHouse Cloud에서 역할 기반 접근을 위한role_arn을 전달하는 데 사용됩니다. 구성 단계는 Secure S3를 참조하십시오.
DeltaLake 테이블에 데이터 쓰기
DeltaLake 테이블 엔진을 사용해 테이블을 생성한 후에는 다음과 같이 데이터를 삽입할 수 있습니다.SET allow_delta_lake_writes = 1;로 활성화해야 합니다(26.7 버전부터 사용 가능하며, 그 이전 버전에서는 SET allow_experimental_delta_lake_writes = 1;을 사용하십시오).
테이블 엔진을 사용한 쓰기는 delta kernel을 통해서만 지원됩니다.
쓰기는 S3 및 GCS에서 동작하며, Azure는 26.9 버전부터 동작합니다.
Azure workload identity 인증(
extra_credentials(client_id = ..., tenant_id = ...))은 delta kernel에서 지원되지 않습니다.데이터 캐시
DeltaLake 테이블 엔진과 테이블 함수는 S3, AzureBlobStorage, HDFS 스토리지와 마찬가지로 데이터 캐시를 지원합니다. 자세한 내용은 “S3 테이블 엔진”을 참조하십시오.