【发布时间】:2017-07-20 16:02:14
【问题描述】:
我想用来自 kafka 主题的数据训练一个流式 kmeans 模型。
我的问题是如何呈现 kmeans streamig 模型的数据
sc = SparkContext(appName="PythonStreamingKafka")
ssc = StreamingContext(sc, 30)
zkQuorum, topic = sys.argv[1:]
kvs = KafkaUtils.createStream(ssc, zkQuorum, "spark-streaming-consumer", {topic: 1})
lines = kvs.map(lambda x: x[1])
lines.pprint()
这个输出(这些是我的特征,用'|'分隔):
1.0|2.0|0.0|21.0|2.0
1.0|2.0|0.0|21.0|2.0
那我就想做这个
model = StreamingKMeans(k=2, decayFactor=1.0).setRandomCenters(3, 1.0, 0)
model.trainOn(lines)
如果我将两段代码结合起来,我会得到错误:
TypeError: Cannot convert type <type 'unicode'> into Vector
【问题讨论】:
-
您能否分享一个端到端示例以及您正在使用的所有软件模块的版本(Kafka 和 spark 版本)?
-
错误日志不完整。可以分享完整版吗?
-
感谢@MedAli。我刚刚找到了解决方案。我会在下面发布答案
标签: python pyspark spark-streaming rdd dstream