tat*_*ler 1 scala jodatime apache-spark
所以我在.csv文件中有以下数据(这只是前几行) -
time temp
2015-08-14 00:00:05 30.00
2015-08-14 00:00:15 31.25
2015-08-14 00:00:25 33.45
2015-08-14 00:00:35 34.76
2015-08-14 00:00:45 36.43
Run Code Online (Sandbox Code Playgroud)
然后我创建以下案例类 -
scala> case class Temps(time: org.joda.time.format.DateTimeFormat, temp: String)
Run Code Online (Sandbox Code Playgroud)
然后我的目标是通过创建解析函数来创建RDD
scala> def parse(line: String) = {
val data = line.split(',')
val time = data(0).????
val temp= data(1).toString
Temps(time, temp)
}
Run Code Online (Sandbox Code Playgroud)
所以我的问题是,我该把什么放在哪里?在上面?我不完全确定在这种情况下如何格式化DateTime.
首先,对于你Temps的time 类型应该是:org.joda.time.DateTime,DateTimeFormat是一个用于创建的工厂DateTimeFormatter(这用于格式化时间).
其次,你可以使用DateTimeFormatter.parseDateTime到parse最新string到DateTime
所以这段代码可能应该是:
case class Temps(time: DateTime, temp: String)
val dateTimeFormatter = DateTimeFormat.forPattern("yyyy-mm-dd HH:mm:ss")
def parse(line: String) = {
val data = line.split(',')
val time = dateTimeFormatter.parseDateTime(data(0))
val temp= data(1).toString
Temps(time, temp)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1134 次 |
| 最近记录: |