메인 콘텐츠로 건너뛰기
Amazon S3, Azure Blob Storage 또는 로컬에 마운트된 파일 시스템의 Delta Lake 테이블에 대해 테이블과 유사한 인터페이스를 제공하며, 읽기와 쓰기를 모두 지원합니다(v25.10부터).

구문

deltaLake는 호환성 유지를 위해 지원되는 deltaLakeS3의 별칭입니다.
deltaLake(url [,aws_access_key_id, aws_secret_access_key] [,format] [,structure] [,compression] [,extra_credentials])

deltaLakeS3(url [,aws_access_key_id, aws_secret_access_key] [,format] [,structure] [,compression] [,extra_credentials])

deltaLakeAzure(connection_string|storage_account_url, container_name, blobpath, [,account_name], [,account_key] [,format] [,compression_method])

deltaLakeLocal(path, [,format])

인수

이 테이블 함수의 인수는 s3, azureBlobStorage, HDFS, file 테이블 함수의 인수와 각각 동일합니다. format 인수는 Delta Lake 테이블의 데이터 파일 포맷을 나타냅니다. 선택적 extra_credentials 매개변수는 ClickHouse Cloud에서 역할 기반 접근을 위한 role_arn을 전달하는 데 사용할 수 있습니다. 구성 단계는 Secure S3를 참조하십시오.

반환 값

지정된 Delta Lake 테이블에서 데이터를 읽거나 쓰는 데 사용할 수 있는, 지정된 구조의 테이블을 반환합니다.

예시

데이터 읽기

https://clickhouse-public-datasets.s3.amazonaws.com/delta_lake/hits/에 있는 스토리지의 테이블이 있다고 가정하겠습니다. ClickHouse에서 이 테이블의 데이터를 읽으려면 다음을 실행하십시오.
Query
SELECT
    URL,
    UserAgent
FROM deltaLake('https://clickhouse-public-datasets.s3.amazonaws.com/delta_lake/hits/')
WHERE URL IS NOT NULL
LIMIT 2
Response
┌─URL───────────────────────────────────────────────────────────────────┬─UserAgent─┐
│ http://auto.ria.ua/search/index.kz/jobinmoscow/detail/55089/hasimages │         1 │
│ http://auto.ria.ua/search/index.kz/jobinmoscow.ru/gosushi             │         1 │
└───────────────────────────────────────────────────────────────────────┴───────────┘

데이터 삽입

s3://ch-docs-s3-bucket/people_10k/의 S3 스토리지에 있는 테이블을 예로 들어 보겠습니다. 테이블에 데이터를 삽입하려면 먼저 실험 기능을 활성화하세요:
Query
SET allow_experimental_delta_lake_writes=1
다음과 같이 작성합니다:
Query
INSERT INTO TABLE FUNCTION deltaLake('s3://ch-docs-s3-bucket/people_10k/', '<access_key>', '<secret>') VALUES (10001, 'John', 'Smith', 'Male', 30)
Response
Query id: 09069b47-89fa-4660-9e42-3d8b1dde9b17

Ok.

1 row in set. Elapsed: 3.426 sec.
테이블을 다시 조회해 삽입이 정상적으로 수행되었는지 확인할 수 있습니다:
Query
SELECT *
FROM deltaLake('s3://ch-docs-s3-bucket/people_10k/', '<access_key>', '<secret>')
WHERE (firstname = 'John') AND (lastname = 'Smith')
Response
Query id: 65032944-bed6-4d45-86b3-a71205a2b659

   ┌────id─┬─firstname─┬─lastname─┬─gender─┬─age─┐
1. │ 10001 │ John      │ Smith    │ Male   │  30 │
   └───────┴───────────┴──────────┴────────┴─────┘

가상 컬럼

  • _path — 파일 경로입니다. 유형: LowCardinality(String).
  • _file — 파일 이름입니다. 유형: LowCardinality(String).
  • _size — 파일 크기(바이트)입니다. 유형: Nullable(UInt64). 파일 크기를 알 수 없으면 값은 NULL입니다.
  • _time — 파일의 마지막 수정 시간입니다. 유형: Nullable(DateTime). 시간을 알 수 없으면 값은 NULL입니다.
  • _etag — 파일의 etag입니다. 유형: LowCardinality(String). etag를 알 수 없으면 값은 NULL입니다.
마지막 수정일 2026년 6월 10일