Programming/Kafka

[kafka] consumer producer key value 확인

bisi 2020. 5. 25. 16:03
key, value 설정 옵션 
컨슈머, 프로듀서의 콘솔창 실행 옵션에 추가

카프카는 토픽을 기본으로 파티셔닝을 한다. 

하지만 하나의 파티션 안에서 또다른 기준 값이 필요하다면 key를 따로설정해줄수 있다. 

 

key 에대한 설정은 기본이 null값이기 때문에, 따로 지정하지 않으면 null로 들어감을 확인할 수 있다. 

 

아래 옵션을 컨슈머, 프로듀서의 콘솔창 실행 옵션에 추가하여  key, value를 확인해 보자.

 

key, value 설정 옵션 

parsing.key : key와 value 파싱 활성화 여부
key.separator : key와 value 파싱 구분자
print.key : console 창 출력 여부

 

컨슈머, 프로듀서의 콘솔창 실행 옵션에 추가

 

1) producer

PS C:\kafka\kafka_2.12-2.5.0\bin\windows> .\kafka-console-producer.bat --bootstrap-server localhost:9092 --topic newdata --property "parse.key=true" --propert
y "key.separator=:" --property "print.key=true"
>keyexam:hi log

 

2. consumer

PS C:\kafka\kafka_2.12-2.5.0\bin\windows> .\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic newdata --property "parse.key=true" --property "key.separate=:" --property "print.key=true" --from-beginning --formatter kafka.tools.DefaultMessageFormatter
null    hi
null    hello
keyexam hi log

 

기존에 key 값 설정 없이 받았던 메세지는 key 값이 null로 표시되고,

key값을 keyexam으로 설정하고 메세지를 보낸 경우엔 key값과 value값이 모두 출력된다. 

 

 

 

참고 

https://github.com/JunilHwang/kafka/wiki/2.2.-kafka%EC%97%90%EC%84%9C-key-value-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0

https://stackoverflow.com/questions/41400224/kafka-consumer-get-key-value-pair