apache-spark - Spark 将字符串解析为带时区的时间戳

标签 apache-spark apache-spark-sql timestamp timezone timezone-offset

我有一个像这样的字符串:

2018-03-21T08:15:00+01:00

并想知道在 Spark 中解析时如何保留时区/从 UTC 偏移。
Seq("2018-03-21T08:15:00+01:00").toDF.select('value, to_timestamp('value, "yyy-MM-ddTHH:mm:ss")).show(false)

不幸的是只产生 null .即使我省略了移位的格式字符串也只返回 null .

最佳答案

T不是格式说明符,因此应该对其进行转义:

"yyyy-MM-dd'T'HH:mm:ss"

时区由 X 表示
"yyy-MM-dd'T'HH:mm:ssXXX"

关于apache-spark - Spark 将字符串解析为带时区的时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49598640/

相关文章:

Elasticsearch-hadoop & Elasticsearch-spark sql - 语句扫描和滚动的跟踪

apache-spark - 为什么 groupByKey 操作总是有 200 个任务?

scala - 使用 SBT 离线解决 org.apache.hadoop 依赖性的错误

unicode - 来自带有模式的行的 sqlContext.createDataframe。 pyspark : TypeError: IntegerType can not accept object in type <type 'unicode' >

python - 将 UDF 应用于 pyspark 数据帧的子集

mysql - 通过对现有行执行 GROUP BY 来更新表 SPARK - SQL?

java - 如何将unix时间戳转换为oracle DATE

c# - 如何在 C# 中将时间戳字符串转换为日期

python - 所选列中值的唯一组合的计数

windows - 使用 Windows DIR 命令按时间戳对文件进行排序