我有Array [Row] 我正在使用案例类将其映射以获得RDD
values
数组行中有3个字段。 我想用分隔符“-”连接1和2字段... r1.getString(0).concat(r1.getString(1))
输入数组row = [“ string1”,“ string2”,someLOngnum]
案例类= [“ string1-string2”,someLongnum]的预期输出RDD
答案 0 :(得分:0)
您可以尝试以下方法:
输入:
val rdd = sc.parallelize(data)
//data: Array[org.apache.spark.sql.Row] = Array([AAA,a,100], [BBB,b,200], [CCC,c,300])
val result = rdd.map(r => myClass(r.getString(0) +'-'+ r.getString(1),r.getLong(2)))
//result: org.apache.spark.rdd.RDD[myClass] = MapPartitionsRDD[15]
输出:
result.collect.foreach(println)
//myClass(AAA-a,100)
//myClass(BBB-b,200)
//myClass(CCC-c,300)