【发布时间】:2018-06-16 02:34:02
【问题描述】:
我是 Spark 的新手。 我正在尝试读取包含以下数据的文本文件:
时间戳 id 计数器值
00:01 1 c1 0.5 00:02 5 c3 0.3 00:03 1 c2 0.1 00:04 2 c2 0.13
并将它们转换为:
(id,array_of_counters):
(1, [ c1 c2 ]) [ 0.5 0.1]
因此,对于每个id,我创建一个2d array,它将在文本文件中包含该特定id 的每个计数器和每个值。
我尝试使用Vectors 来做,但我认为存储在其中的内容必须是双倍的,并且我不能添加两个向量,除非它们是微风向量。
然后,我发现有一个名为 Vector 的数据结构,但我找不到有关它的任何详细信息。
那么,我的问题是mllib 中的Vector 和Vectors 之间的主要区别是什么?
代码:
val inputRdd = sc.textFile(inputFile).map(x => x.split(","))
val data = inputRdd.map(y => (y(1), Vector(y(2), y(3)))).reduceByKey(_++_)
【问题讨论】:
-
我相信 OP 询问的是 spark 的
Vector类型,而不是 scala 的内置集合。
标签: scala apache-spark vector