사전 요구 사항
첫 번째 ClickPipe 만들기
- ClickHouse Cloud 서비스의 SQL 콘솔에 접속합니다.
- 왼쪽 메뉴에서
Data Sources버튼을 선택한 다음 “Set up a ClickPipe”를 클릭합니다.
- 데이터 소스를 선택합니다.
- ClickPipe 이름, 설명(선택 사항), IAM 역할 또는 자격 증명, 기타 연결 정보를 입력하여 양식을 작성합니다.
-
Kinesis 스트림, Data 포맷, 시작 offset을 선택합니다.
Protobuf의 경우.proto파일 또는 직렬화된FileDescriptorSet(최대 768 KiB)을 업로드하십시오. 스키마 레지스트리는 필요하지 않습니다. UI에는 선택한 스트림의 샘플 데이터가 표시됩니다. Use Kinesis Enhanced Fan-Out은 기본적으로 활성화되어 있습니다. 자세한 내용은 Amazon Kinesis 문서를 참조하십시오.
- 다음 단계에서는 데이터를 새 ClickHouse 테이블에 수집할지, 기존 테이블을 재사용할지 선택할 수 있습니다. 화면의 안내에 따라 테이블 이름, 스키마, 설정을 수정하십시오. 상단의 샘플 테이블에서 변경 사항을 실시간으로 미리 볼 수 있습니다.
- 또는 데이터를 기존 ClickHouse 테이블에 수집하도록 선택할 수도 있습니다. 이 경우 UI에서 소스의 필드를 선택한 대상 테이블의 ClickHouse 필드에 매핑할 수 있습니다.
- 마지막으로 내부 ClickPipes 사용자에 대한 권한을 구성할 수 있습니다.
Full access: 클러스터 전체에 대한 액세스 권한입니다. 대상 테이블과 함께 materialized view 또는 딕셔너리(Dictionary)를 사용하는 경우 유용할 수 있습니다.Only destination table: 대상 테이블에 대해서만INSERT권한을 부여합니다.
- “Complete Setup”을 클릭하면 시스템이 ClickPipe를 등록하고, 요약 테이블에 표시되는 것을 확인할 수 있습니다.
- 축하합니다! 첫 번째 ClickPipe를 성공적으로 설정했습니다. streaming ClickPipe인 경우 원격 데이터 소스에서 데이터를 실시간으로 수집하면서 계속 실행됩니다. 그렇지 않으면 배치를 수집한 후 완료됩니다.
지원되는 데이터 포맷
압축
- gzip
- zstd
- lz4
- snappy (framed format)
JSON 및 CSV 같은 텍스트 기반 포맷에서는 자동 감지가 안전합니다. 인쇄 가능한 ASCII 문자는 압축 매직 바이트와 절대 충돌하지 않기 때문입니다.
지원되는 데이터 타입
표준 타입 지원
- 기본 숫자 타입 - [U]Int8/16/32/64, Float32/64, BFloat16
- 대형 정수 타입 - [U]Int128/256
- Decimal 타입
- Boolean
- String
- FixedString
- Date, Date32
- DateTime, DateTime64 (UTC 시간대만)
- Enum8/Enum16
- UUID
- IPv4
- IPv6
- ClickHouse의 모든 LowCardinality 타입
- 키와 값에 위 타입 중 하나를 사용할 수 있는 Map (Nullable 포함)
- 요소에 위 타입 중 하나를 사용할 수 있는 Tuple 및 Array (Nullable 포함, 1단계 깊이만)
- SimpleAggregateFunction 타입 (대상이 AggregatingMergeTree 또는 SummingMergeTree인 경우)
Variant 유형 지원
Variant(String, Int64, DateTime))을 수동으로 지정할 수
있습니다. ClickPipes가 사용할 올바른 Variant 하위 유형을 판별하는 방식상, Variant 정의에는 정수형 또는 날짜/시간
유형을 하나만 사용할 수 있습니다. 예를 들어 Variant(Int64, UInt32)는 지원되지 않습니다.
JSON 타입 지원
Kinesis 가상 컬럼
Add Column 버튼을 사용해 가상 컬럼을 추가할 수 있습니다.
_raw_message 필드는 전체 Kinesis JSON 레코드만 필요한 경우(예: ClickHouse JsonExtract* 함수를 사용해 다운스트림 구체화된 뷰(Materialized View)를 채우는 경우)에 사용할 수 있습니다. 이러한 파이프에서는 “가상”이 아닌 모든 컬럼을 삭제하면 ClickPipes 성능이 향상될 수 있습니다.
제한 사항
- DEFAULT는 지원되지 않습니다.
- 가장 작은 (XS) 레플리카 크기에서는 개별 메시지의 기본 한도가 16MB(비압축)이며, 더 큰 레플리카에서는 32MB(비압축)입니다. 이 한도를 초과하는 메시지는 오류가 발생하며 거부됩니다. 더 큰 메시지가 필요하면 지원팀에 문의하십시오.
성능
배칭
- 배치 크기가 최대 크기(100,000행 또는 레플리카 메모리 1GB당 32MB)에 도달함
- 배치가 최대 시간(5초) 동안 열려 있음