지원되는 데이터 소스
| 이름 | Logo | 세부 정보 |
|---|---|---|
| Amazon S3 | 지속적인 수집은 기본적으로 사전식 순서가 필요하지만, 파일을 임의 순서로 수집하도록 구성할 수도 있습니다. | |
| Cloudflare R2 S3-compatible | 지속적인 수집에는 사전식 순서가 필요합니다. 비순차 모드는 지원되지 않습니다. | |
| DigitalOcean Spaces S3-compatible | 지속적인 수집에는 사전식 순서가 필요합니다. 비순차 모드는 지원되지 않습니다. | |
| OVH Object Storage S3-compatible | 지속적인 수집에는 사전식 순서가 필요합니다. 비순차 모드는 지원되지 않습니다. |
지원 포맷
기능
일회성 수집
지속적인 수집
사전식 순서
file1, file2, file3라는 이름의 파일은 순차적으로 수집되지만, 버킷에 새 file 0이 추가되면 파일 이름이 마지막으로 수집된 파일보다 사전식으로 더 크지 않으므로 무시됩니다.
이 모드에서 S3 ClickPipe는 지정된 경로의 모든 파일을 초기 적재한 다음, 설정 가능한 간격으로 새 파일을 폴링합니다(기본값: 30초). 특정 파일이나 특정 시점부터 수집을 시작하는 것은 불가능합니다 — ClickPipes는 항상 지정된 경로의 모든 파일을 적재합니다.
임의의 순서
unordered mode는 Amazon S3에서만 지원되며, 공개 버킷이나 S3-compatible 서비스에서는 지원되지 않습니다. 이 기능을 사용하려면 버킷에 연결된 Amazon SQS 큐를 설정해야 하며, 필요에 따라 Amazon EventBridge를 이벤트 라우터로 사용할 수 있습니다.
ObjectCreated:* 이벤트를 수신합니다. 이전에 확인한 파일에 대한 메시지, 경로와 일치하지 않는 파일에 대한 메시지, 또는 다른 유형의 이벤트는 무시됩니다.
이벤트에 prefix/postfix를 설정하는 것은 선택 사항입니다. 설정하는 경우 ClickPipe에 지정한 경로와 일치하는지 확인하십시오. S3는 동일한 이벤트 유형에 대해 서로 겹치는 여러 알림 규칙을 허용하지 않습니다.
max insert bytes 또는 max file count에 구성된 임계값에 도달하거나, 구성 가능한 인터벌(기본값 30초)이 지나면 파일이 수집됩니다. 특정 파일이나 특정 시점부터 수집을 시작하는 것은 불가능합니다 — ClickPipes는 항상 선택한 경로의 모든 파일을 적재합니다. DLQ가 구성된 경우, 실패한 메시지는 DLQ maxReceiveCount 매개변수에 설정된 횟수만큼 큐에 다시 등록되어 재처리됩니다.
EventBridge to SQS
SNS에서 SQS로
파일 패턴 매칭
*.csv 대신 data-2024-*.csv 사용).
지원되는 패턴
| 패턴 | 설명 | 예시 | 일치 항목 |
|---|---|---|---|
? | 정확히 1개의 문자와 일치합니다(/ 제외) | data-?.csv | data-1.csv, data-a.csv, data-x.csv |
* | 0개 이상의 문자와 일치합니다(/ 제외) | data-*.csv | data-1.csv, data-001.csv, data-report.csv, data-.csv |
** 재귀 | 0개 이상의 문자와 일치합니다(/ 포함). 디렉터리를 재귀적으로 탐색할 수 있습니다. | logs/**/error.log | logs/error.log, logs/2024/error.log, logs/2024/01/error.log |
https://bucket.s3.amazonaws.com/folder/*.csvhttps://bucket.s3.amazonaws.com/logs/**/data.jsonhttps://bucket.s3.amazonaws.com/file-?.parquethttps://bucket.s3.amazonaws.com/data-2024-*.csv.gz
지원되지 않는 패턴
| 패턴 | 설명 | 예시 | 대안 |
|---|---|---|---|
{abc,def} | 중괄호 확장 | {logs,data}/file.csv | 각 경로마다 별도의 ClickPipes를 생성하세요. |
{N..M} | 숫자 범위 확장 | file-{1..100}.csv | file-*.csv 또는 file-?.csv를 사용하세요. |
https://bucket.s3.amazonaws.com/{documents-01,documents-02}.jsonhttps://bucket.s3.amazonaws.com/file-{1..100}.csvhttps://bucket.s3.amazonaws.com/{logs,metrics}/data.parquet
정확히 한 번 처리 의미 체계
가상 컬럼
_file 가상 컬럼을 추가하십시오. _file 가상 컬럼에는 소스 객체의 파일명이 저장되며, 이를 사용해 어떤 파일이 처리되었는지 쿼리할 수 있습니다.
접근 제어
권한
S3 버킷
SQS 큐
인증
IAM 자격 증명
Credentials를 선택하십시오. 그런 다음 Access key와 Secret key에 각각 액세스 키 ID(예: AKIAIOSFODNN7EXAMPLE)와 비밀 액세스 키(예: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY)를 입력하십시오.
IAM role
IAM role을 선택하십시오.
S3 액세스에 필요한 신뢰 정책이 포함된 역할을 생성하려면 이 가이드를 따르십시오. 그런 다음 IAM role ARN에 IAM 역할 ARN을 입력하십시오.
네트워크 액세스
-
IP 기반 액세스 제어의 경우, S3 버킷 정책에서 여기에 나열된 ClickPipes 서비스 리전의 고정 IP와 ClickHouse Cloud 서비스의 고정 IP를 모두 허용해야 합니다. 사용 중인 ClickHouse Cloud 리전의 고정 IP를 확인하려면 터미널을 열고 다음 명령을 실행하십시오.
-
VPC endpoint 기반 액세스 제어의 경우, S3 버킷은 ClickHouse Cloud 서비스와 동일한 리전에 있어야 하며,
GetObject작업은 ClickHouse Cloud 서비스의 VPC endpoint ID로만 제한해야 합니다. 사용 중인 ClickHouse Cloud 리전의 VPC endpoint를 확인하려면 터미널을 열고 다음 명령을 실행하십시오.
고급 설정
| Setting | Default value | Description |
|---|---|---|
Max insert bytes | 10GB | 단일 삽입 배치에서 처리할 바이트 수입니다. |
Max file count | 100 | 단일 삽입 배치에서 처리할 최대 파일 수입니다. |
Max threads | auto(3) | 파일 처리를 위한 최대 동시 스레드 수입니다. |
Max insert threads | 1 | 파일 처리를 위한 최대 동시 삽입 스레드 수입니다. |
Min insert block size bytes | 1GB | 테이블에 삽입할 수 있는 블록의 최소 바이트 크기입니다. |
Max download threads | 4 | 최대 동시 다운로드 스레드 수입니다. |
Object storage polling interval | 30s | ClickHouse 클러스터에 데이터를 삽입하기 전 대기하는 최대 시간을 설정합니다. |
Parallel distributed insert select | 2 | Parallel distributed insert select 설정입니다. |
Parallel view processing | false | attached 상태인 뷰에 순차 처리 대신 동시에 푸시할지 여부입니다. |
Use cluster function | true | 여러 노드에서 파일을 병렬로 처리할지 여부입니다. |