date time 分开存储如何合并_scala-如何将时间戳拆分为日期和时间?

欢迎来到StackOverflow!

您需要将时间戳从epoch格式 transformation为date,然后进行计算。你可以试试这个:

import spark.implicits._

val df = spark.read.option("header",true).option("inferSchema",true).csv("time.csv ")

val df1 = df.withColumn(

"dateCreated",

date_format(

to_date(

substring(

from_unixtime($"date_time".divide(1000)),

0,

10

),

"yyyy-MM-dd"

)

,"dd-MM-yyyy")

)

.withColumn(

"timeCreated",

substring(

from_unixtime($"date_time".divide(1000)),

11,

19

)

)

我的用例中的示例数据:

+---------+-------------+--------+-----------+-----------+

| adId| date_time| price|dateCreated|timeCreated|

+---------+-------------+--------+-----------+-----------+

|230010452|1469178808000| 5950.0| 22-07-2016| 14:43:28|

|230147621|1469456306000| 19490.0| 25-07-2016| 19:48:26|

|229662644|1468546792000| 12777.0| 15-07-2016| 07:09:52|

|229218611|1467815284000| 9996.0| 06-07-2016| 19:58:04|

|229105894|1467656022000| 7700.0| 04-07-2016| 23:43:42|

|230214681|1469559471000| 4600.0| 27-07-2016| 00:27:51|

|230158375|1469469248000| 999.0| 25-07-2016| 23:24:08|

+---------+-------------+--------+-----------+-----------+

你得调整一下时间。默认情况下,这是您的时区。对我来说现在是格林尼治时间+05:30。希望有帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值