【发布时间】:2015-07-06 17:09:53
【问题描述】:
我有一个包含日期时间列的 csv 文件:“2011-05-02T04:52:09+00:00”。
我正在使用 scala,文件被加载到 spark DataFrame 中,我可以使用 jodas time 来解析日期:
val sqlContext = new SQLContext(sc)
import sqlContext.implicits._
val df = new SQLContext(sc).load("com.databricks.spark.csv", Map("path" -> "data.csv", "header" -> "true"))
val d = org.joda.time.format.DateTimeFormat.forPattern("yyyy-mm-dd'T'kk:mm:ssZ")
我想根据日期时间字段创建新列以进行时间序列分析。
在 DataFrame 中,如何根据另一列的值创建一列?
我注意到 DataFrame 具有以下功能:df.withColumn("dt",column),有没有办法根据现有列的值创建列?
谢谢
【问题讨论】:
-
您需要创建一个UDF并注册它。请看stackoverflow.com/questions/29479872/…
标签: scala apache-spark apache-spark-sql