给定:
val df = Seq((1L, "04-04-2015")).toDF("id", "date")
val df2 = df.withColumn("month", from_unixtime(unix_timestamp($"date", "dd/MM/yy"), "MMMMM"))
df2.show()
我得到了以下输出:
+---+----------+-----+
| id| date|month|
+---+----------+-----+
| 1|04-04-2015| null|
+---+----------+-----+
但是,我希望输出如下所示:
+---+----------+-----+
| id| date|month|
+---+----------+-----+
| 1|04-04-2015|April|
+---+----------+-----+
如何在sparkSQL中使用Scala实现这一点?
3条答案
按热度按时间fcipmucu1#
这应该可以做到:
注意事项:
文件:
uajslkp62#
在你的代码中没有什么错误,只是保持你的日期格式作为你的日期列。在这里,我附上你的代码和更改代码的截图。
"快乐的哈度“
o8x7eapl3#
与此问题不完全相关,但如果要将月份作为整数,则有一个
month
函数:同样,您可以使用
year
函数只获取年份。