Apache spark Spark:如何从历元列创建新的日期字符串列?
我有一个Apache Spark 2.x数据框架,其中包含以下列:Apache spark Spark:如何从历元列创建新的日期字符串列?,apache-spark,apache-spark-sql,Apache Spark,Apache Spark Sql,我有一个Apache Spark 2.x数据框架,其中包含以下列: scala> df.printSchema root |-- id: string (nullable = true) |-- countryCode: string (nullable = true) |-- detail: string (nullable = true) |-- epoch: long (nullable = true) 我想根据历元时间戳(Unix UTC时间)创建一个新列,其中包含“yy
scala> df.printSchema
root
|-- id: string (nullable = true)
|-- countryCode: string (nullable = true)
|-- detail: string (nullable = true)
|-- epoch: long (nullable = true)
我想根据历元时间戳(Unix UTC时间)创建一个新列,其中包含“yyyy-MM-dd”格式的日期字符串。然后,我将使用日期字符串作为分区列
如何使用日期字符串创建列?要仅在Java中执行转换,我将使用SimpleDataFormat(“yyyy-MM-dd”),但我不确定如何创建新列。方法应该是您要寻找的。例如:
import org.apache.spark.sql.functions_
val df=Seq(
(1, "1538384400"),
(2, "1538481600"),
(3, "1538588200")
).toDF(“id”、“时代”)
df.withColumn(“日期”,from_unixtime($“epoch”,“yyyy-MM-dd”))。
显示
// +---+----------+----------+
//| id |纪元|日期|
// +---+----------+----------+
// | 1|1538384400|2018-10-01|
// | 2|1538481600|2018-10-02|
// | 3|1538588200|2018-10-03|
// +---+----------+----------+
尝试了df.withColumn
?