Spark Python Авро Кафка Десериализатор
Я создал поток kafka в приложении python spark и могу анализировать любой текст, который проходит через него.
kafkaStream = KafkaUtils.createStream(ssc, zkQuorum, "spark-streaming-consumer", {topic: 1})
Я хочу изменить это, чтобы иметь возможность анализировать авро сообщения из темы кафки. При разборе сообщений avro из файла я делаю это следующим образом:
reader = DataFileReader(open("customer.avro", "r"), DatumReader())
Я новичок в Python и спарк, как мне изменить поток, чтобы иметь возможность анализировать авро сообщение? Также, как я могу указать схему для использования при чтении сообщения Avro от Кафки ??? Я делал все это в Java раньше, но Python сбивает меня с толку.
Редактировать:
Я попытался изменить, чтобы включить AVRO декодер
kafkaStream = KafkaUtils.createStream(ssc, zkQuorum, "spark-streaming-consumer", {topic: 1},valueDecoder=avro.io.DatumReader(schema))
но я получаю следующую ошибку
TypeError: 'DatumReader' object is not callable