首先,我使用api,
KafkaUtils.createDirectStream(ssc=ssc,
topics=topics,
kafkaParams={"metadata.broker.list": brokers})
使用kafka消息,这种方式可行,但它总是消耗最新的偏移,这不是我想要的,所以我将api更改为
KafkaUtils.createDirectStream(ssc=ssc,
topics=topics,
kafkaParams={"metadata.broker.list": brokers},
fromOffsets=fromOffset,
messageHandler=messageHnadler)
可以设置fromOffset
,但是当我运行相同的程序时,我收到以下错误:
我错过了什么吗?文件 “/Users/peterpan/Documents/software/spark-1.6.2/python/lib/pyspark.zip/pyspark/streaming/kafka.py” 第138行,在createDirectStream中AttributeError:'TopicPartition' object没有属性'_jTopicAndPartition'
答案 0 :(得分:0)
问题是使用错误类型fromOffsets
,
使用
pyspark.streaming.kafka.TopicAndPartition
而不是
kafka.structs.TopicPartition