获取AttributeError:在pyspark中使用KafkaUtils.createDirectStream时,'TopicPartition'对象没有属性'_jTopicAndPartition'

时间:2018-03-27 10:20:05

标签: pyspark apache-kafka

首先,我使用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'

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

问题是使用错误类型fromOffsets

使用

pyspark.streaming.kafka.TopicAndPartition

而不是

kafka.structs.TopicPartition