【发布时间】:2019-09-06 12:27:06
【问题描述】:
我有一个数据集,其中的序列号是 0 和 1。
Category Value Sequences
1 10 0
1 11 1
1 13 1
1 16 1
1 20 0
1 21 0
1 22 1
1 25 1
1 27 1
1 29 1
1 30 0
1 32 1
1 34 1
1 35 1
1 38 0
这里序列中的 1 列出现三次。我需要单独总结那个序列值。
我正在尝试使用以下代码:
%livy2.spark
import org.apache.spark.rdd.RDD
val df = df.select( $"Category", $"Value", $"Sequences").rdd.groupBy(x =>
(x.getInt(0))
).map(
x => {
val Category= x(0).getInt(0)
val Value= x(0).getInt(1)
val Sequences = x(0).getInt(2)
for (i <- x.indices){
val vi = x(i).getFloat(4)
if (vi(0) >0 )
{
summing+ = Value//
}
(Category, summing)
}
}
)
df_new.take(10).foreach(println)
当我编写此代码时,会发生错误,说明该语句不完整。 df值代表我最初给出的数据集。
预期的输出是:
Category summing
1 40
1 103
1 101
我不知道我在哪里落后。如果有人能帮助我学习这个新事物,那就太好了。
【问题讨论】:
标签: scala apache-spark apache-zeppelin livy