메인 콘텐츠로 건너뛰기

azureBlobStorage 테이블 함수

Azure Blob Storage의 파일에 대해 SELECT/INSERT를 수행할 수 있는 테이블형 인터페이스를 제공합니다. 이 테이블 함수는 s3 함수와 유사합니다.

구문

자격 증명이 연결 문자열에 포함되어 있으므로 account_name/account_key를 별도로 지정할 필요가 없습니다:

인수

ArgumentDescription
connection_string자격 증명이 포함된 연결 문자열입니다(계정 이름 + 계정 키 또는 SAS 토큰). 이 형식을 사용할 때는 account_nameaccount_key를 별도로 전달해서는 안 됩니다. 연결 문자열 구성을 참고하십시오.
storage_account_url스토리지 계정 엔드포인트 URL입니다. 예: https://myaccount.blob.core.windows.net/. 이 형식을 사용할 때는 account_nameaccount_key반드시 함께 전달해야 합니다.
container_name컨테이너 이름입니다.
blobpath파일 경로입니다. 읽기 전용 모드에서는 다음 와일드카드를 지원합니다: *, **, ?, {abc,def}, {N..M}. 여기서 N, M은 숫자이고 'abc', 'def'는 문자열입니다.
account_name스토리지 계정 이름입니다. SAS 없이 storage_account_url을 사용할 때는 필수이며, connection_string을 사용할 때는 전달해서는 안 됩니다.
account_key스토리지 계정 키입니다. SAS 없이 storage_account_url을 사용할 때는 필수이며, connection_string을 사용할 때는 전달해서는 안 됩니다.
format파일의 포맷입니다.
compression지원되는 값: none, gzip/gz, brotli/br, xz/LZMA, zstd/zst. 기본적으로는 파일 확장자를 기준으로 압축을 자동 감지합니다(auto로 설정한 경우와 동일).
structure테이블 구조입니다. 형식: 'column1_name column1_type, column2_name column2_type, ...'.
partition_strategy선택 사항입니다. 지원되는 값: WILDCARD 또는 HIVE. WILDCARD는 경로에 {_partition_id}가 있어야 하며, 이 값은 파티션 키로 대체됩니다. HIVE는 와일드카드를 허용하지 않으며 경로를 테이블 루트로 가정하고, 파일 이름으로 Snowflake ID를 사용하며 파일 포맷을 확장자로 하는 Hive 스타일의 파티션 디렉터리를 생성합니다. 기본값은 file_like_engine_default_partition_strategy 설정입니다(26.6보다 오래된 compatibility 설정에서는 WILDCARD, 그 외에는 HIVE).
partition_columns_in_data_file선택 사항입니다. HIVE 파티션 전략에서만 사용됩니다. 데이터 파일에 파티션 컬럼이 기록되어 있다고 예상할지 여부를 ClickHouse에 지정합니다. 기본값은 false입니다.
extra_credentials인증에 client_idtenant_id를 사용합니다. extra_credentials가 제공되면 account_nameaccount_key보다 우선합니다.

이름이 지정된 컬렉션

인수는 이름이 지정된 컬렉션을 사용해 전달할 수도 있습니다. 이 경우 다음 키를 사용할 수 있습니다:
필수설명
container컨테이너 이름입니다. 위치 인수 container_name에 해당합니다.
blob_path파일 경로(선택적 와일드카드 포함)입니다. 위치 인수 blobpath에 해당합니다.
connection_string아니요*자격 증명이 포함된 연결 문자열입니다. *connection_string 또는 storage_account_url 중 하나를 제공해야 합니다.
storage_account_url아니요*스토리지 계정 endpoint URL입니다. *connection_string 또는 storage_account_url 중 하나를 제공해야 합니다.
account_name아니요storage_account_url을 사용할 때 필요합니다
account_key아니요storage_account_url을 사용할 때 필요합니다
format아니요파일 포맷입니다.
compression아니요압축 유형입니다.
structure아니요테이블 구조입니다.
client_id아니요authentication에 사용할 클라이언트 ID입니다.
tenant_id아니요authentication에 사용할 테넌트 ID입니다.
명명된 컬렉션의 키 이름은 위치 함수 인수 이름과 다릅니다. containercontainer_name이 아니며, blob_pathblobpath가 아닙니다.
예시:
명명된 컬렉션의 값을 쿼리 시점에 재정의할 수도 있습니다:

반환 값

지정된 파일에서 데이터를 읽거나 쓰는 데 사용되는, 지정된 구조의 테이블입니다.

예시

storage_account_url 방식으로 읽기

connection_string 형식으로 읽기

파티션을 사용한 쓰기

그런 다음 특정 파티션을 다시 읽어옵니다:

가상 컬럼

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

파티션별 쓰기

파티션 전략

INSERT 쿼리에서만 지원됩니다. WILDCARD: 파일 경로의 {_partition_id} 와일드카드를 실제 파티션 키(partition key)로 대체합니다. 26.6 이전의 compatibility 설정에서만 기본값으로 선택되며, 그 외에는 기본값이 HIVE입니다(file_like_engine_default_partition_strategy 설정 참조). HIVE는 읽기와 쓰기에서 Hive 스타일 파티셔닝을 사용합니다. 다음 포맷으로 파일을 생성합니다: <prefix>/<key1=val1/key2=val2...>/<snowflakeid>.<toLower(file_format)>. HIVE 파티션 전략 예시

use_hive_partitioning 설정

이 설정은 읽는 시점에 ClickHouse가 Hive 스타일로 파티셔닝된 파일을 파싱하도록 돕는 힌트입니다. 쓰기에는 영향을 주지 않습니다. 읽기와 쓰기 동작을 일관되게 맞추려면 partition_strategy 인수를 사용하십시오. use_hive_partitioning 설정을 1로 지정하면 ClickHouse가 경로(/name=value/)에서 Hive 스타일 파티셔닝을 감지하고, 쿼리에서 파티션 컬럼을 가상 컬럼으로 사용할 수 있습니다. 이러한 가상 컬럼은 파티셔닝된 경로의 이름과 동일한 이름을 가집니다. 예시 Hive 스타일 파티셔닝으로 생성된 가상 컬럼 사용

Shared Access Signatures (SAS) 사용

Shared Access Signature(SAS)는 Azure Storage 컨테이너 또는 파일에 대한 제한된 액세스를 부여하는 URI입니다. 스토리지 계정 키를 공유하지 않고도 스토리지 계정 리소스에 일정 기간 동안만 액세스할 수 있도록 할 때 사용합니다. 자세한 내용은 여기를 참조하십시오. azureBlobStorage 함수는 Shared Access Signatures(SAS)를 지원합니다. Blob SAS 토큰에는 대상 blob, 권한, 유효 기간을 포함해 요청을 인증하는 데 필요한 모든 정보가 포함되어 있습니다. blob URL을 구성하려면 blob 서비스 endpoint에 SAS 토큰을 추가하십시오. 예를 들어 endpoint가 https://clickhousedocstest.blob.core.windows.net/이면 요청은 다음과 같습니다.
또는 생성된 Blob SAS URL을 사용할 수 있습니다:
마지막 수정일 2026년 7월 1일