DeltaLake 테이블 엔진
이 엔진은 S3, GCP 및 Azure 스토리지에 존재하는 기존 Delta Lake 테이블과의 통합을 제공하며, v25.10부터 읽기와 쓰기 작업을 모두 지원합니다.
DeltaLake 테이블 생성
DeltaLake 테이블을 생성하려면 해당 테이블이 이미 S3, GCP 또는 Azure 스토리지에 존재하고 있어야 합니다. 아래 명령들은 새로운 테이블을 생성하기 위한 DDL 매개변수를 지원하지 않습니다.
- S3
- GCP
- Azure
구문
엔진 파라미터
url— 기존 Delta Lake 테이블 경로가 포함된 버킷 URL입니다.aws_access_key_id,aws_secret_access_key- AWS 계정 사용자에 대한 장기 자격 증명입니다. 이를 사용하여 요청을 인증할 수 있습니다. 이 파라미터는 선택 사항입니다. 자격 증명을 지정하지 않으면 설정 파일에 있는 값이 사용됩니다.
엔진 파라미터는 Named Collections를 사용하여 지정할 수 있습니다.
예제
이름이 지정된 컬렉션 사용:
구문
Unsupported gsutil URI
gs://clickhouse-docs-example-bucket 과 같은 gsutil URI는 지원되지 않습니다. https://storage.googleapis.com 로 시작하는 URL을 사용해야 합니다.
인자
url— Delta Lake 테이블이 위치한 GCS 버킷 URL입니다.https://storage.googleapis.com/<bucket>/<path>/형식(GCS XML API 엔드포인트)을 사용해야 하며,gs://<bucket>/<path>/형식은 자동 변환됩니다.access_key_id— GCS Access Key입니다. Google Cloud Console → Cloud Storage → Settings → Interoperability에서 생성합니다.secret_access_key— GCS secret입니다.
Named collections
Named collections도 사용할 수 있습니다. 예를 들어:
구문
인자
connection_string— Azure 연결 문자열storage_account_url— Azure 스토리지 계정 URL (예: https://account.blob.core.windows.net)container_name— Azure 컨테이너 이름blobpath— 컨테이너 내 Delta Lake 테이블 경로account_name— Azure 스토리지 계정 이름account_key— Azure 스토리지 계정 키
DeltaLake 테이블을 사용한 데이터 쓰기
DeltaLake 테이블 엔진을 사용해 테이블을 생성한 후에는 다음과 같이 데이터를 삽입할 수 있습니다:
참고
테이블 엔진을 사용한 쓰기 작업은 delta kernel을 통해서만 지원됩니다. Azure로의 쓰기는 아직 지원되지 않지만, S3 및 GCS에는 지원됩니다.
데이터 캐시
DeltaLake 테이블 엔진과 테이블 함수는 S3, AzureBlobStorage, HDFS 스토리지와 동일한 방식으로 데이터 캐싱을 지원합니다. 자세한 내용은 "S3 테이블 엔진"을 참조하십시오.