PySpark - Spark SQL:如何将具有 UTC 偏移量的时间戳转换为 epoch/unixtime?
PySpark - Spark SQL: how to convert timestamp with UTC offset to epoch/unixtime?
如何使用 Spark SQL 或 PySpark 将 2019-08-22T23:57:57-07:00
格式的时间戳转换为 unixtime?
我知道的最相似的功能是unix_timestamp()
它不接受带有 UTC 偏移量的上述时间格式。
关于我如何最好使用 Spark SQL 或 PySpark 的任何建议?
谢谢
本例中的javaSimpleDateFormat
pattern for ISO 8601time zone为XXX
.
因此您需要使用 yyyy-MM-dd'T'HH:mm:ssXXX
作为格式字符串。
SparkSQL
spark.sql(
"""select unix_timestamp("2019-08-22T23:57:57-07:00", "yyyy-MM-dd'T'HH:mm:ssXXX")
AS epoch"""
).show(truncate=False)
#+----------+
#|epoch |
#+----------+
#|1566543477|
#+----------+
Spark DataFrame
from pyspark.sql.functions import unix_timestamp
df = spark.createDataFrame([("2019-08-22T23:57:57-07:00",)], ["timestamp"])
df.withColumn(
"unixtime",
unix_timestamp("timestamp", "yyyy-MM-dd'T'HH:mm:ssXXX")
).show(truncate=False)
#+-------------------------+----------+
#|timestamp |unixtime |
#+-------------------------+----------+
#|2019-08-22T23:57:57-07:00|1566543477|
#+-------------------------+----------+
请注意,pyspark 只是 spark 的包装器 - 通常我发现 scala/java 文档比 python 文档更完整。以后可能会有用。
如何使用 Spark SQL 或 PySpark 将 2019-08-22T23:57:57-07:00
格式的时间戳转换为 unixtime?
我知道的最相似的功能是unix_timestamp()
它不接受带有 UTC 偏移量的上述时间格式。
关于我如何最好使用 Spark SQL 或 PySpark 的任何建议?
谢谢
本例中的javaSimpleDateFormat
pattern for ISO 8601time zone为XXX
.
因此您需要使用 yyyy-MM-dd'T'HH:mm:ssXXX
作为格式字符串。
SparkSQL
spark.sql(
"""select unix_timestamp("2019-08-22T23:57:57-07:00", "yyyy-MM-dd'T'HH:mm:ssXXX")
AS epoch"""
).show(truncate=False)
#+----------+
#|epoch |
#+----------+
#|1566543477|
#+----------+
Spark DataFrame
from pyspark.sql.functions import unix_timestamp
df = spark.createDataFrame([("2019-08-22T23:57:57-07:00",)], ["timestamp"])
df.withColumn(
"unixtime",
unix_timestamp("timestamp", "yyyy-MM-dd'T'HH:mm:ssXXX")
).show(truncate=False)
#+-------------------------+----------+
#|timestamp |unixtime |
#+-------------------------+----------+
#|2019-08-22T23:57:57-07:00|1566543477|
#+-------------------------+----------+
请注意,pyspark 只是 spark 的包装器 - 通常我发现 scala/java 文档比 python 文档更完整。以后可能会有用。