zhe*_*gui 5 python namedtuple apache-kafka
我写了一个python脚本:
#!/usr/bin/env python
from kafka import KafkaConsumer
consumer = KafkaConsumer('dimon_tcpdump',group_id='zhg_group',bootstrap_servers='192.168.100.9:9092')
for msg in consumer:
print msg
# process mes here
Run Code Online (Sandbox Code Playgroud)
msg的输出就像:
ConsumerRecord(topic=u'ditopic', partition=0, offset=6280, timestamp=None, timestamp_type=None, key=None, value='myvalue')
Run Code Online (Sandbox Code Playgroud)
我知道输出是namedtuple形式。
我的问题是:如何获得特定领域的ConsumerRecord?例如,我想将值字符串分配给变量。
这可能与您反序列化数据的方式有关。例如,如果您想从msg. 您可以使用以下Consumer方式初始化:
value_deserializer=lambda m: json.loads(m.decode('utf-8'))
所以你的代码看起来像这样:
#!/usr/bin/env python
from kafka import KafkaConsumer
consumer = KafkaConsumer(
'dimon_tcpdump',
group_id='zhg_group',
value_deserializer=lambda m: json.loads(m.decode('utf-8')),
bootstrap_servers='192.168.100.9:9092'
)
for msg in consumer:
print msg.value
# process mes here
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3943 次 |
| 最近记录: |