scala - 使用scala将时间戳更改为spark中的UTC格式
问题描述
问题与问题类似:Change the timestamp to UTC format in Pyspark
基本上,它是使用scala将带有偏移量的时间戳字符串格式 ISO8601 转换为 UTC 时间戳字符串(2017-08-01T14:30:00+05:30
-> ) 。2017-08-01T09:00:00+00:00
我是 scala/java 的新手,我检查了 spark 库,他们在不知道时区的情况下无法转换,除非(我以丑陋的方式解析它或使用 java/scala lib? ) 有人可以帮忙吗?
更新:执行此操作的更好方法:在 spark 中设置时区会话,并用于df.cast(DataTypes.TimestampType)
执行时区转换
解决方案
org.apache.spark.sql.functions.to_utc_timestamp
:
def to_utc_timestamp(ts: Column, tz: String): Column
给定一个时间戳,如“2017-07-14 02:40:00.0”,将其解释为给定时区的时间,并将该时间呈现为 UTC 时间戳。例如,“GMT+1”将产生“2017-07-14 01:40:00.0”。
推荐阅读
- node.js - 如何查找包含单个属性的 CSS/SCSS 类
- python - 让 Python 脚本读取文本文件而不是单个输入
- search - 评估网络搜索引擎的测量方法
- makefile - GNU Make:在静态模式规则中的茎目录中的通配符文件
- javascript - 提供要在 Express 中的 img 标签中显示的文件
- c# - .NET Core 进程因 SQL 连接池异常而崩溃
- mysql - 来自 LEFT JOIN 的重复结果
- java - 如何将元素一个接一个地添加到我的 ArrayList 中?
- sql-server - SQL Server 错误:18456(Windows 和 SQL 身份验证)
- c - 密码猜测器,为什么我的密码猜测与实际的散列密码不相似?