메인 콘텐츠로 건너뛰기
기본적으로 GCS ClickPipe는 파일이 버킷에 사전식 순서로 추가된다고 가정합니다. 버킷에 연결된 Google Cloud Pub/Sub subscription을 설정하면, 암묵적인 순서가 없는 파일도 수집하도록 GCS ClickPipe를 구성할 수 있습니다. 이렇게 하면 ClickPipes가 OBJECT_FINALIZE 알림을 수신하여 파일 이름 규칙과 관계없이 새 파일을 수집할 수 있습니다.
비순차 모드는 공개 버킷에서는 지원되지 않습니다. 사용하려면 Service Account 인증과 버킷에 연결된 Google Cloud Pub/Sub subscription이 필요합니다.

작동 방식

이 모드에서는 GCS ClickPipe가 선택한 경로의 모든 파일을 초기 적재한 다음, 지정된 경로와 일치하는 Pub/Sub subscription을 통해 객체 알림을 수신합니다. 이미 확인한 파일에 대한 메시지, 경로와 일치하지 않는 파일에 대한 메시지, 또는 다른 유형의 이벤트는 모두 무시됩니다. 특정 파일이나 특정 시점부터 수집을 시작하는 것은 불가능합니다. ClickPipes는 항상 선택한 경로의 모든 파일을 적재합니다. 데이터를 수집하는 과정에서 다양한 유형의 장애가 발생할 수 있으며, 이로 인해 일부만 삽입되거나 중복 데이터가 생길 수 있습니다. 객체 스토리지 ClickPipes는 삽입 실패에 탄력적으로 대응하며, 임시 스테이징 테이블을 사용해 정확히 한 번 처리 의미 체계를 제공합니다. 데이터는 먼저 스테이징 테이블에 삽입되며, 문제가 발생하면 스테이징 테이블을 TRUNCATE한 후 깨끗한 상태에서 삽입을 다시 시도합니다. 삽입이 성공적으로 완료된 경우에만 파티션이 대상 테이블로 이동됩니다.
1

Google Cloud Pub/Sub 토픽 만들기

1. Google Cloud Console에서 Pub/Sub > Topics > Create topic으로 이동합니다. 기본 subscription이 포함된 새 토픽을 만들고 Topic Name을 기록합니다.2. 위에서 만든 Pub/Sub 토픽으로 OBJECT_FINALIZE 이벤트를 게시하도록 GCS 버킷 알림을 구성합니다.2.1. 이 단계는 Google Cloud Console에서는 수행할 수 없으므로 gcloud 클라이언트 또는 Google Cloud용 선호하는 프로그래밍 인터페이스를 사용해야 합니다. 예를 들어 gcloud를 사용하면 다음과 같습니다.
# 버킷의 새 객체에 대한 Pub/Sub 알림 생성
gcloud storage buckets notifications create "gs://${YOUR_BUCKET_NAME}" \
  --topic="projects/${YOUR_PROJECT_ID}/topics/${YOUR_TOPIC_NAME}" \
  --event-types="OBJECT_FINALIZE" \
  --payload-format="json"

# 버킷의 Pub/Sub 알림 나열
gcloud storage buckets notifications describe
2

서비스 계정 구성

1. 지정된 버킷에서 ClickPipes가 객체를 나열하고 가져올 수 있으며, Pub/Sub subscription의 알림을 소비하고 모니터링할 수 있도록 필요한 권한이 있는 서비스 계정을 구성합니다.1.1. 이 단계는 Google Cloud Console, gcloud 클라이언트 또는 Google Cloud용 선호하는 프로그래밍 인터페이스를 사용해 수행할 수 있습니다. 예를 들어 gcloud를 사용하면 다음과 같습니다.
# 1. GCS 버킷에 읽기 권한 부여
gcloud storage buckets add-iam-policy-binding "gs://${YOUR_BUCKET_NAME}" \
  --member="serviceAccount:${YOUR_SERVICE_ACCOUNT}@${YOUR_PROJECT_ID}.iam.gserviceaccount.com" \
  --role="roles/storage.objectViewer"

# 2. Pub/Sub subscription에 읽기 권한 부여
gcloud pubsub subscriptions add-iam-policy-binding "${YOUR_SUBSCRIPTION_NAME}" \
  --member="serviceAccount:${YOUR_SERVICE_ACCOUNT}@${YOUR_PROJECT_ID}.iam.gserviceaccount.com" \
  --role="roles/pubsub.subscriber"

# 3. Pub/Sub subscription 메타데이터를 가져올 권한 부여
gcloud pubsub subscriptions add-iam-policy-binding "${YOUR_SUBSCRIPTION_NAME}" \
  --member="serviceAccount:${YOUR_SERVICE_ACCOUNT}@${YOUR_PROJECT_ID}.iam.gserviceaccount.com" \
  --role="roles/pubsub.viewer"
3

비순차 모드로 ClickPipe 만들기

1. ClickHouse Cloud 콘솔에서 Data Sources > Create ClickPipe로 이동한 다음 Google Cloud Storage를 선택합니다. GCS 버킷에 연결하는 데 필요한 세부 정보를 입력합니다. Authentication method에서 Service Account를 선택하고 .json 서비스 계정 키를 제공합니다.2. Continuous ingestion을 켠 다음, 수집 모드로 Any order를 선택하고 버킷에 연결된 subscription의 Pub/Sub subscription 이름을 입력합니다. subscription 이름은 다음 형식을 따라야 합니다.
projects/${YOUR_PROJECT_ID}/subscriptions/${YOUR_SUBSCRIPTION_NAME}
3. Incoming data를 클릭합니다. 대상 테이블의 Sorting key를 정의합니다. 매핑된 schema를 필요에 따라 조정한 다음 ClickPipes 데이터베이스 사용자의 역할을 구성합니다.4. 구성을 검토한 후 Create ClickPipe를 클릭합니다. ClickPipes는 먼저 버킷을 초기 스캔하여 지정된 경로와 일치하는 기존 파일을 모두 적재한 다음, 토픽에 새 OBJECT_FINALIZE 이벤트가 도착하면 파일 처리를 시작합니다.
마지막 수정일 2026년 6월 10일