【发布时间】:2016-03-24 14:20:42
【问题描述】:
我的 CSV 文件中的初始数据是:
1 ,21658392713 ,21626890421
1 ,21623461747 ,21626890421
1 ,21623461747 ,21626890421
我根据业务逻辑经过几次转换和分组后得到的数据是收益
scala> val sGrouped = grouped
sGrouped: org.apache.spark.rdd.RDD[(String, Iterable[(String,
(Array[String], String))])] = ShuffledRDD[85] at groupBy at <console>:51
scala> sGrouped.foreach(f=>println(f))
(21626890421,CompactBuffer((21626890421,
([Ljava.lang.String;@62ac8444,21626890421)),
(21626890421,([Ljava.lang.String;@59d80fe,21626890421)),
(21626890421,([Ljava.lang.String;@270042e8,21626890421)),
从这里我想得到一个生成类似以下格式的地图
[String, Row[String]]
因此数据可能如下所示:
[ 21626890421 , Row[(1 ,21658392713 ,21626890421)
, (1 ,21623461747 ,21626890421)
, (1 ,21623461747,21626890421)]]
我非常感谢任何有关推进这方面的指导。
【问题讨论】:
-
你想要一个 Row 还是一个 Array 就足够了?
-
没有
Row[String]这样的东西。来自(Array[String], String)的Array究竟是什么映射到您想要的输出?
标签: scala apache-spark