Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dataframe 如何在pyspark pr sparksql中从日期\时间捕获时间部分?_Dataframe_Pyspark_Apache Spark Sql_Databricks - Fatal编程技术网

Dataframe 如何在pyspark pr sparksql中从日期\时间捕获时间部分?

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| #+-

我有bigint格式的现场访问\u开始\u时间\u gmt,我可以将其转换为日期\u时间,但现在我需要删除另一列中时间戳的时间部分,请参见下面的数据示例

若要截断时间,请使用函数

如果要转换为日期,请使用“转换为日期”函数。 例如:

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|
+--------------------+-------------------+----------+