새로운 토픽에 새로운 메시지 키를 가지도록 재배열하는 과정이다.
키 변경 연산자를 토폴로지에 추가했다면, 카프카 스트림즈는 그 연산자를 통과하는 데이터가 리파티셔닝될 것이라 표시한다.
이로 인해 재생성한 새 키를 가진 결과 레코드를 읽는 하위 스트림 연산자가 있다면 다음과 같은 일을 할 것이다.
새로 생성한 키를 가지는 데이터를 내부 리파티션 토픽으로 전송한다.
새로 생성한 키를 가지는 데이터를 카프카 스트림즈로 다시 읽는다.
키를 변경할 수 있는 연산자들은 다음과 같다.
Map
FlatMap
SelectKey
GroupBy
그러므로 키를 변경할 필요가 없다면 아래 연산자를 사용하도록 하자.
MapValues
FlatMapValues
GroupByKey
리파티셔닝은 성능에 영향을 줄 수 있다 ( 읽기, 쓰기 작업을 수행하므로 )