Rah*_*hul 2 scala date dataframe apache-spark rdd
我有一个平面文件,如下所示.
id,name,desg,tdate
1,Alex,Business Manager,2016-01-01
Run Code Online (Sandbox Code Playgroud)
我正在使用Spark Context来读取此文件,如下所示.
val myFile = sc.textFile("file.txt")
Run Code Online (Sandbox Code Playgroud)
我想从这个文件生成一个Spark DataFrame,我使用以下代码来实现.
case class Record(id: Int, name: String,desg:String,tdate:String)
val myFile1 = myFile.map(x=>x.split(",")).map {
case Array(id, name,desg,tdate) => Record(id.toInt, name,desg,tdate)
}
myFile1.toDF()
Run Code Online (Sandbox Code Playgroud)
这给了我一个DataFrame,其id为int,其余列为String.
我希望将最后一列tdate转换为日期类型.
我怎样才能做到这一点?
您只需将其转换String
为java.sql.Date
对象即可.然后,您的代码可以简单地变为:
import java.sql.Date
case class Record(id: Int, name: String,desg:String,tdate:Date)
val myFile1 = myFile.map(x=>x.split(",")).map {
case Array(id, name,desg,tdate) => Record(id.toInt, name,desg,Date.valueOf(tdate))
}
myFile1.toDF()
Run Code Online (Sandbox Code Playgroud)