핵심 개념
설정 가이드
1
ClickHouse 연결 정보를 확인하세요
HTTP(S)로 ClickHouse에 연결하려면 다음 정보가 필요합니다.ClickHouse Cloud 서비스의 연결 정보는 ClickHouse Cloud 콘솔에서 확인할 수 있습니다.
서비스를 선택한 다음 Connect를 클릭하십시오.HTTPS를 선택하십시오. 연결 정보가 예시
curl 명령으로 표시됩니다.자가 관리형 ClickHouse를 사용하는 경우 연결 정보는 ClickHouse 관리자가 설정합니다.2
Apify 사전 요구 사항
추가로 다음이 필요합니다:- Apify 계정 (무료 tier 사용 가능)
- Apify API token — Apify Console의 Settings > Integrations에서 확인할 수 있습니다.
- 로컬에 설치된 Node.js 18+ (JavaScript 예시용)
3
종속성 설치
Apify JavaScript client와 ClickHouse JavaScript client를 설치합니다:Apify는 Python client도 제공합니다. Python을 선호한다면 pip로
apify-client를 설치하고, ClickHouse에는 clickhouse-connect를 사용하십시오.4
5
6
웹훅으로 자동화하세요
스크립트를 수동으로 실행하는 대신, Actor가 완료될 때마다 데이터가 ClickHouse에 적재되도록 파이프라인을 자동화합니다:- Apify Console에서 Actor로 이동한 다음 Integrations 탭을 엽니다.
- 다음과 같이 새 웹훅을 추가합니다:
- Event type:
ACTOR.RUN.SUCCEEDED - Action: 로더 endpoint로 HTTP POST를 보내거나, ClickHouse 삽입을 처리하는 다른 Actor를 트리거합니다.
- Event type:
- 웹훅 payload에는
defaultDatasetId가 포함되며, 이를 사용해 실행 결과를 가져올 수 있습니다.
모범 사례
Apify에서 데이터 가져오기
apify-client 또는 Python)를 사용하십시오. 이 라이브러리는 페이지네이션, 재시도, 인증을 대신 처리해 줍니다. 대규모 데이터셋의 경우 List dataset items endpoint의 limit 및 offset 매개변수를 사용해 결과를 페이지별로 조회하십시오.
ClickHouse에 적재하기
JSONEachRow 포맷을 사용하십시오. Apify의 JSON 출력과 직접 대응하므로 별도의 변환이 필요하지 않습니다.
ClickHouse 테이블 스키마를 Actor의 출력 필드에 맞추십시오. Actor의 출력 스키마는 Apify Store 페이지 또는 실행 후 Dataset 탭에서 확인할 수 있습니다.
성능
보안
default 사용자와 데이터베이스를 사용합니다. 프로덕션 환경에서는 대상 테이블(target table)에 삽입하는 데 필요한 최소 권한만 가진 전용 사용자를 생성하고, 자격 증명은 안전하게 저장하십시오(예: 소스 코드에 커밋하지 말고 환경 변수나 시크릿 관리 도구에 저장). 자세한 내용은 Cloud 접근 관리를 참조하십시오.