由于我是Spark(1.3.0)的新手,我正在试图找出可以用它做什么,特别是Spark SQL。
我遇到了时间戳/日期格式,在操作这些数据类型时我无法通过这个障碍。
这些数据类型是否有可用的操作?
目前我所能做的只是从字符串到时间戳的简单演员:
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
import sqlContext.implicits._
case class Log(visitor: String, visit_date: String, page: String)
val log = (triple.map(p => Log(p._1,p._2,p._3))).toDF()
log.registerTempTable("logs")
val logSessions= sqlContext.sql("SELECT visitor" +
" ,cast(visit_date as timestamp)" +
" ,page" +
" FROM logs"
)
logSessions.foreach(println)
我正在尝试在此时间戳上使用不同的“自定义SQL”操作(从字符串中转换)但我无法获得任何错误。
例如:我可以在时间戳上添加30分钟吗?怎么样?
也许我错过了一些东西,但我找不到关于这个主题的任何文档。
提前致谢!
FF
答案 0 :(得分:1)
我正在寻找同样的事情。 Spark 1.5增加了一些内置函数: https://databricks.com/blog/2015/09/16/spark-1-5-dataframe-api-highlights-datetimestring-handling-time-intervals-and-udafs.html
但对于以前的版本和特定的looke,需要实现一个UDF。