2016-12-30 28 views
5

मैं वर्तमान में काफ्का और फ्लिंक के साथ काम कर रहा हूं, मेरे पास अपने स्थानीय पीसी में कफका चल रहा है और मैंने एक विषय बनाया है जिसका उपभोग किया जा रहा है।काफ्का उपभोक्ता प्रमुख मूल्य जोड़ी

डेस्कटॉप \ काफ्का \ बिन \ windows> काफ्का-कंसोल-consumer.bat --zookeeper स्थानीय होस्ट: 2181 -topic परीक्षण

लेकिन यह सिर्फ संदेश फिर से प्राप्त किया जाता है, enter image description here

वहाँ के लिए एक रास्ता है संदेश के बारे में भविष्य के बारे में जानकारी प्राप्त करें? आइए समय कहें? कुंजी? मैंने कफका दस्तावेज की जांच की लेकिन मुझे इस विषय के बारे में कुछ नहीं मिला

उत्तर

9

बॉक्स कंसोल उपभोक्ता (मैं काफ्का 0.9.0.1 का उपयोग कर रहा हूं) का उपयोग करके आप केवल विभिन्न प्रारूपों का उपयोग करके संदेशों की कुंजी और मूल्य मुद्रित कर सकते हैं। कुंजी प्रिंट करने के लिए, संपत्ति print.key को सत्य पर सेट करें।

एक और संपत्ति कुंजी है। सेपरेटर जो डिफ़ॉल्ट रूप से "\ t" (एक टैब) है जिसे आप अपनी इच्छानुसार कुछ भी बदल सकते हैं।

इन गुणों को सेट करने के लिए आप एक कॉन्फ़िगरेशन फ़ाइल बना सकते हैं और --consumer.config का उपयोग कर सकते हैं या --property key = value का उपयोग कर गुणों को पार कर सकते हैं।

आप अपना स्वयं का फ़ॉर्मेटर को लागू करने और --formatter विकल्प के साथ इसका इस्तेमाल लेकिन आप अभी भी बस कुंजी और मान होगा क्योंकि यह है कि क्या MessageFormatter विशेषता प्रदान करता है सकते हैं (नीचे writeTo देखें)।

trait MessageFormatter { 
    def writeTo(key: Array[Byte], value: Array[Byte], output: PrintStream) 

    def init(props: Properties) {} 

    def close() {} 
} 

उदाहरण के लिए:

./bin/kafka-console-consumer.sh --new-consumer --bootstrap-server kafka-1:9092 --topic topic1 --property print.key=true --property key.separator="-" --from-beginning 
key-p1 
key-p2 
key-p3 
null-4 
null-8 
null-0 
+0

मैं एक नया सवाल को खोलने के लिए, कहा जा रहा है कि मुझे लगता है कि काफ्का प्रत्येक संदेश के लिए या कम से कम निर्माता से कुंजी निर्दिष्ट करने के लिए एक तरह से प्रदान करना चाहिए नहीं करना चाहते प्रत्येक विषय के लिए। क्या आप जानते हैं कि मैं क्या उपयोग कर सकता हूं? –

+1

$ ./bin/kafka-console-producer.sh --broker-list kafka-1: 9092 --topic topic1 --property parse.key = true --property key.separator = "-" बंदर-औसत –

संबंधित मुद्दे