我建立了一个Kafka消费者-生产者系统,我需要处理传输的消息。这些是JSON文件(例如
)中的行ConsumerRecord(topic=u'json_data103052', partition=0, offset=676, timestamp=1542710197257, timestamp_type=0, key=None, value='{"Name": "Simone", "Surname": "Zimbolli", "gender": "Other", "email": "zzz@uiuc.edu", "country": "Nigeria", "date": "11/07/2018"}', checksum=354265828, serialized_key_size=-1, serialized_value_size=189)
我正在寻找一种易于实施的解决方案
有人对如何进行有建议吗?谢谢。
我在使用Spark时遇到问题,所以我宁愿避免使用它。我正在使用Jupyter在Python中编写脚本。
这是我的代码:
from kafka import KafkaConsumer
from random import randint
from time import sleep
bootstrap_servers = ['localhost:9092']
%store -r topicName # Get the topic name from the kafka producer
print topicName
consumer = KafkaConsumer(bootstrap_servers = bootstrap_servers,
auto_offset_reset='earliest'
)
consumer.subscribe([topicName])
for message in consumer:
print (message)
答案 0 :(得分:1)
我想您需要使用Kafka Streams API。您具有开窗所需的所有功能。 您可以在此处找到有关Kafka Streams的更多信息:
答案 1 :(得分:1)
对于您的情况,Kafka Streams似乎很合适。它具有以下4种类型的窗口支持:
scantext = StringVar()
pcb_entry=Entry(top_frame,background='white', textvariable=scantext)
对于python,有一个库:https://github.com/wintoncode/winton-kafka-streams
这可能对您有用。