如何删除火花输出中的compactbuffer

时间:2016-03-01 04:42:44

标签: scala apache-spark

下面是我在火花壳中运行的程序,但是当我在HDFS中保存输出时,我正在使用compactbuffer.how输出以删除火花输出中的compactbuffer。

程序:

val a=sc.textFile("/datagen_10.txt")

val b=a.map(p=>(p.split(",")(1),p.split(2))

val c=sc.textFile("/drug.txt")

val d =c.map(p=>(p.split(",")(1),p.split(",")(0)))

val e=b.cogroup(d)

e.saveAsTextfile("/cogroup")

输出:

(avil,(CompactBuffer(Brandon Buckner, Veda Hopkins, Mara Higgins, Sybill 

Crosby, Ivan Hale),CompactBuffer(1)))

(metacin,(CompactBuffer(Len Burgess),CompactBuffer(2)))

(paracetamol,(CompactBuffer(Zia Underwood, Austin Mayer, Tyler Rosales, Alika 

Gilmore),CompactBuffer(3)))

2 个答案:

答案 0 :(得分:1)

您将手动创建输出字符串,例如:

e.map{case (k, (xs, ys)) => 
  s"""($k, ((${xs.mkString(",")}), (${ys.mkString(",")}))"""}

答案 1 :(得分:0)

尝试

rdd1.map(rec => (rec._2._1.mkString(""))) //output will be like Brandon Buckner, Veda Hopkins, Mara Higgins, Sybill Crosby, Ivan Hale