下面是我在火花壳中运行的程序,但是当我在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)))
答案 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