-1
我有一個數據集,則字符串的數據集,它具有數據轉換一個DataSet單柱多列數據集
12348,5,233,234559,4
12348,5,233,234559,4
12349,6,233,234560,5
12350,7,233,234561,6
我想拆分此單排和它轉換爲多列它表示RegionId,PerilId,Date,EventId,ModelId。我如何實現這一目標?
我有一個數據集,則字符串的數據集,它具有數據轉換一個DataSet單柱多列數據集
12348,5,233,234559,4
12348,5,233,234559,4
12349,6,233,234560,5
12350,7,233,234561,6
我想拆分此單排和它轉換爲多列它表示RegionId,PerilId,Date,EventId,ModelId。我如何實現這一目標?
你的意思是:
case class NewSet(RegionId: String, PerilId: String, Date: String, EventId: String, ModelId: String)
val newDataset = oldDataset.map(s:String => {
val strings = s.split(",")
NewSet(strings(0), strings(1), strings(2), string(3), strings(4)) })
當然,你應該做的lambda函數多了幾分穩健...
如果您在RDD指定的數據,然後轉換,爲數據幀很容易。
case class MyClass(RegionId: String, PerilId: String, Date: String,
EventId: String, ModelId: String)
val dataframe = sqlContext.createDataFrame(rdd,classOf[MyClass])
這個數據幀將所有列與列名對應CLAS的MyClass的變量。