통합 패키지
org.apache.beam.sdk.io.clickhouse.ClickHouseIO 구현은 Apache Beam repo에 있습니다.
Apache Beam용 ClickHouse 패키지 설정
패키지 설치
코드 예시
input.csv라는 이름의 CSV 파일을 PCollection으로 읽고, 이를 행(Row) 객체로 변환한 다음(정의된 스키마 사용), ClickHouseIO를 사용하여 로컬 ClickHouse 인스턴스에 삽입합니다:
지원되는 데이터 타입
ClickHouseIO.Write 매개변수
ClickHouseIO.Write 구성을 조정할 수 있습니다.
제한 사항
- 현재는 싱크 작업만 지원합니다. 이 커넥터는 소스 작업을 지원하지 않습니다.
- ClickHouse는
ReplicatedMergeTree또는 그 위에 구축된Distributed테이블에 삽입할 때 중복 제거를 수행합니다. 복제가 없는 경우 일반 MergeTree에 삽입할 때 삽입이 실패한 후 재시도가 성공하면 중복이 발생할 수 있습니다. 하지만 각 블록은 원자적으로 삽입되며, 블록 크기는ClickHouseIO.Write.withMaxInsertBlockSize(long)를 사용해 설정할 수 있습니다. 중복 제거는 삽입된 블록의 체크섬을 사용해 수행됩니다. 중복 제거에 대한 자세한 내용은 중복 제거 및 Deduplicate insertion config를 참조하십시오. - 이 커넥터는 DDL SQL 문을 수행하지 않으므로, 대상 테이블은 삽입 전에 미리 존재해야 합니다.
ClickHouseIO클래스 문서.- 예시가 포함된
GitHub리포지토리 clickhouse-beam-connector.