Dataframe 如何在pyspark pr sparksql中从日期\时间捕获时间部分?
我有bigint格式的现场访问\u开始\u时间\u gmt,我可以将其转换为日期\u时间,但现在我需要删除另一列中时间戳的时间部分,请参见下面的数据示例 若要截断时间,请使用函数 如果要转换为日期,请使用“转换为日期”函数。 例如:Dataframe 如何在pyspark pr sparksql中从日期\时间捕获时间部分?,dataframe,pyspark,apache-spark-sql,databricks,Dataframe,Pyspark,Apache Spark Sql,Databricks,我有bigint格式的现场访问\u开始\u时间\u gmt,我可以将其转换为日期\u时间,但现在我需要删除另一列中时间戳的时间部分,请参见下面的数据示例 若要截断时间,请使用函数 如果要转换为日期,请使用“转换为日期”函数。 例如: df.show() #+--------------------+ #|visit_start_time_gmt| #+--------------------+ #| 1522555602| #| 1522622390| #+-
df.show()
#+--------------------+
#|visit_start_time_gmt|
#+--------------------+
#| 1522555602|
#| 1522622390|
#+--------------------+
from pyspark.sql.functions import *
df.withColumn("date_hour",date_trunc("HOUR",to_timestamp(col("visit_start_time_gmt")))).\
withColumn("date",to_date(to_timestamp(col("visit_start_time_gmt")))).\
show()
+--------------------+-------------------+----------+
|visit_start_time_gmt| date_hour| date|
+--------------------+-------------------+----------+
| 1522555602|2018-04-01 04:00:00|2018-04-01|
| 1522622390|2018-04-01 22:00:00|2018-04-01|
+--------------------+-------------------+----------+