jq로 파이핑하여 kcat 소비자 출력을 아름답게 합니다.
2540 단어 kcatjqjsonapachekafka
내 표준 접근 방식은 터미널을 세로로 나누고 왼쪽에는 명령을 실행할 수 있는 데이터베이스 연결이 있고 오른쪽에는 kcat 의 출력이 있는 것입니다. 이 설정은 간단한 메시지에 정말 잘 작동하지만 Debezium source connector 과 함께 사용하면 단일 메시지에 푸시된 필드의 양이 화면을 보는 실시간 청중이 거의 구문 분석할 수 없게 됩니다.
위의 이미지에서
kcat
출력이 구문 강조 표시가 없는 JSON 형식이므로 거의 읽을 수 없음을 알 수 있습니다.구조에 jq
JSON 출력을 미화하고 구문 분석할 수 있는 도구를 오랫동안jq 알고 사용하고 있었습니다. 설치 후 그대로 사용하시면 됩니다
echo '{"name":"Francesco", "preferences":["pasta","pizza","espresso"]}' | jq '.'
놀라운 JSON이 멋지게 표시됩니다.
{
"name": "Francesco",
"preferences": [
"pasta",
"pizza",
"espresso"
]
}
jq와 케이캣
이제
jq
소비자 출력에 어떻게 kcat
를 적용할 수 있습니까? 다음과 같은 직접 파이프를 시도했습니다.kcat -F kcat.config -C \
-t my_pgsource.public.players | jq
하지만 아쉽게도 실제 데이터가 표시되지 않고 출력 댓글만 받았습니다.
% Reading configuration from file kcat.config
% Reached end of topic my_pgsource.public.players [0] at offset 3
화면에 다음과 같이 표시됨
나는 오랫동안 애를 먹었지만,
-u
의 kcat
플래그(버퍼링되지 않은 출력)라는 올바른 해결책을 알려준 친구(명성)에게 연락했습니다. -u
플래그를 추가하면 이제 미화된 JSON을 볼 수 있습니다!Reference
이 문제에 관하여(jq로 파이핑하여 kcat 소비자 출력을 아름답게 합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/ftisiot/beautify-kcat-consumer-output-by-piping-to-jq-31b4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)