2017-04-17 3 views
1

카프카 커넥트 싱크 (Kafka Connect Sink)를 실행하면 입력 파일 partitioner.class (FieldPartitioner)을 지정합니다.이 파일은 partition.field.name에 지정된 레코드 필드를 기반으로 파티션 할 수 있습니다.Kafka Connect 싱크 분할 : 서브 파티셔닝?

그래서 두 가지 수준의 분할을 원한다면 어떻게해야합니까? 예를 들어, 최상위 레벨에서 날짜 - 시간을 분할하고 레코드 필드를 기준으로 하위 파티션으로 분할하고 싶습니다. 또는 두 개의 필드로 파티션을 나누면됩니까? 스파크에서, 이것은 사실 아주 일반적입니다.

속성 구성 파일 형식의 구조에 따라 허용되지 않는다고 가정합니다. 이 가정이 맞습니까?

답변

1

Partitioner 인터페이스를 구현하는 자체 파티션 클래스를 작성해야하는 것처럼 들립니다. 선택적으로 두 가지 범주의 파티션 중 하나를 기본 클래스 (어쩌면 TimeBasedPartitioner 또는 FieldPartitioner)로 사용할 수 있습니다. 둘 중 어느 것이 든 원하는대로 달성 할 수 있습니다.

현재 이러한 유형의 분할은 구성에서만 가능합니다. 그러나 그것은 유용하게 들린다. 또한 어떤 유형의 싱크를 참조할지는 모르겠지만 스토리지와 관련이 있다면 kafka-connect-storage-common에 포함 된 파티션 관련 코드를 사용하는 것이 좋습니다 repo

관련 문제