pyspark:trainkma表示从

2024-05-15 03:10:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用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

那我就想这么做

^{pr2}$

如果我把这两段代码合并起来,就会得到错误:

TypeError: Cannot convert type <type 'unicode'> into Vector

Tags: kafka数据模型主题topictype流式lines
1条回答
网友
1楼 · 发布于 2024-05-15 03:10:04

第一个问题是格式化从卡夫卡提取的流。以下是对管道分离数据的处理方法

sc = SparkContext(appName="PythonStreamingKafka")
ssc = StreamingContext(sc, 30)

zkQuorum, topic = sys.argv[1:]
kvs = KafkaUtils.createStream(ssc, zkQuorum, "spark-streaming-consumer", {topic: 1})

raw = kvs.flatMap(lambda kafkaS: [kafkaS])
lines = raw.map(lambda xs: xs[1].split("|"))

lines = lines.map(lambda x: DenseVector(x))

第二个问题是数据的维度:setRandomCenters的第一个参数(它应该与特征的数量相同)

相关问题 更多 >

    热门问题