Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

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,] [extra_credentials])

엔진 매개변수

  • url — 기존 Delta Lake 테이블 경로를 포함한 버킷 URL입니다.
  • aws_access_key_id, aws_secret_access_key - AWS 계정 사용자의 장기 자격 증명입니다. 요청 인증에 사용할 수 있습니다. 이 매개변수는 선택 사항입니다. 자격 증명을 지정하지 않으면 설정 파일의 값이 사용됩니다.
  • extra_credentials - 선택 사항입니다. ClickHouse Cloud에서 역할 기반 접근을 위한 role_arn을 전달하는 데 사용됩니다. 구성 단계는 Secure S3를 참조하십시오.

엔진 매개변수는 명명된 컬렉션을 사용해 지정할 수도 있습니다.

예시

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_delta_lake_writes = 1;

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

Delta Lake 쓰기는 기본적으로 비활성화되어 있는 베타 기능이며 SET allow_delta_lake_writes = 1;로 활성화해야 합니다(26.7 버전부터 사용 가능하며, 그 이전 버전에서는 SET allow_experimental_delta_lake_writes = 1;을 사용하십시오).

데이터 캐시

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

관련 항목

Navigation