I just started learning Python and Kafka. This is the first example I tried to get started. http://www.giantflyingsaucer.com/blog/?p=5541
And I got an exception:
Traceback (most recent call last):
File "producer.py", line 23, in <module>
main()
File "producer.py", line 18, in main
print_response(producer.send_messages(topic, msg))
File "D:\Setups\Python35-32\lib\site-packages\kafka\producer\simple.py", line 50, in send_messages
topic, partition, *msg
File "D:\Setups\Python35-32\lib\site-packages\kafka\producer\base.py", line 379, in send_messages
return self._send_messages(topic, partition, *msg)
File "D:\Setups\Python35-32\lib\site-packages\kafka\producer\base.py", line 396, in _send_messages
raise TypeError("all produce message payloads must be null or type bytes")
TypeError: all produce message payloads must be null or type bytes
I've searched on google but I'm not quite sure what the problem is. Could anyone please give me some advice? Thank you very much!
Here is my code:
from kafka import SimpleProducer, KafkaClient
def print_response(response=None):
if response:
print('Error: {0}'.format(response[0].error))
print('Offset: {0}'.format(response[0].offset))
def main():
kafka = KafkaClient("10.2.5.53:9092")
producer = SimpleProducer(kafka)
topic = 'test'
msg = 'Hello World'
print_response(producer.send_messages(topic, msg))
kafka.close()
if __name__ == "__main__":
main()