본문으로 바로가기
본문으로 바로가기

DeltaLake 테이블 엔진

이 엔진은 S3, GCP 및 Azure 스토리지에 존재하는 기존 Delta Lake 테이블과의 통합을 제공하며, v25.10부터 읽기와 쓰기 작업을 모두 지원합니다.

DeltaLake 테이블 생성

DeltaLake 테이블을 생성하려면 해당 테이블이 이미 S3, GCP 또는 Azure 스토리지에 존재하고 있어야 합니다. 아래 명령들은 새로운 테이블을 생성하기 위한 DDL 매개변수를 지원하지 않습니다.

구문

CREATE TABLE table_name
ENGINE = DeltaLake(url, [aws_access_key_id, aws_secret_access_key,])

엔진 파라미터

  • url — 기존 Delta Lake 테이블 경로가 포함된 버킷 URL입니다.
  • aws_access_key_id, aws_secret_access_key - AWS 계정 사용자에 대한 장기 자격 증명입니다. 이를 사용하여 요청을 인증할 수 있습니다. 이 파라미터는 선택 사항입니다. 자격 증명을 지정하지 않으면 설정 파일에 있는 값이 사용됩니다.

엔진 파라미터는 Named Collections를 사용하여 지정할 수 있습니다.

예제

CREATE TABLE deltalake
ENGINE = DeltaLake('http://mars-doc-test.s3.amazonaws.com/clickhouse-bucket-3/test_table/', 'ABC123', 'Abc+123')

이름이 지정된 컬렉션 사용:

<clickhouse>
    <named_collections>
        <deltalake_conf>
            <url>http://mars-doc-test.s3.amazonaws.com/clickhouse-bucket-3/</url>
            <access_key_id>ABC123<access_key_id>
            <secret_access_key>Abc+123</secret_access_key>
        </deltalake_conf>
    </named_collections>
</clickhouse>
CREATE TABLE deltalake
ENGINE = DeltaLake(deltalake_conf, filename = 'test_table')

DeltaLake 테이블을 사용한 데이터 쓰기

DeltaLake 테이블 엔진을 사용해 테이블을 생성한 후에는 다음과 같이 데이터를 삽입할 수 있습니다:

SET allow_experimental_delta_lake_writes = 1;

INSERT INTO deltalake(id, firstname, lastname, gender, age)
VALUES (1, 'John', 'Smith', 'M', 32);
참고

테이블 엔진을 사용한 쓰기 작업은 delta kernel을 통해서만 지원됩니다. Azure로의 쓰기는 아직 지원되지 않지만, S3 및 GCS에는 지원됩니다.

데이터 캐시

DeltaLake 테이블 엔진과 테이블 함수는 S3, AzureBlobStorage, HDFS 스토리지와 동일한 방식으로 데이터 캐싱을 지원합니다. 자세한 내용은 "S3 테이블 엔진"을 참조하십시오.

함께 보기