2017-09-04 99 views
0

如何在Spark/Scala中將_1,_2重命名爲有意義的列名?Spark/Scala - 重命名列生成的列

root 
    |-- aaa: string (nullable = true) 
    |-- bbb: array (nullable = true) 
    | |-- element: struct (containsNull = true) 
    | | |-- _1: string (nullable = true) 
    | | |-- _2: long (nullable = false) 

回答

0

創建一個case類並將元組轉換爲case類。這樣你可以命名元組。

case class person(name:String,age:Int) 
val personRdd=rdd.map(_.split(<delimeter>)).map(x => person(x._1,x._2)) 

現在你可以訪問personRdd元組值

personRdd.map(p => (p.name+":"+p.age))