如何在Spark SQL的日期模式中选择分数秒?

huangapple go评论64阅读模式
英文:

How to pick fractional seconds in date pattern of spark sql?

问题

我正在使用Spark SQL,并使用to_date函数将时间戳字符串转换为日期格式。但尽管文档建议如此,我仍无法提取小数秒。

例如:

to_date("2017-09-09T21:01:12Z","yyyy-MM-dd'T'HH:mm:ss'Z'") -> 正常工作并返回日期
to_date("2017-09-09T21:01:12.234433Z","yyyy-MM-dd'T'HH:mm:ss.SSSSSS'Z'") -> 返回空值

有人能否提供这种行为的可能原因?

编辑(2023年4月19日):我认为这可能是由于我使用的Spark版本导致的。这不是官方的Spark版本,很可能是Cloudera的一个分发版本(我将确认此事),因为在官方Spark版本3.0.0中,完全相同的函数可以正常工作。

英文:

I'm working in spark SQL and using this function to_date to convert the timestamp string in date format. But I'm unable to pick fractional seconds even though the documentation suggests so. Here it suggests that we can 'S' continuously, upto 6 singificant places, for fraction patterns.

For instance:

to_date("2017-09-09T21:01:12Z","yyyy-MM-dd'T'HH:mm:ss'Z'") -> working and returns date
to_date("2017-09-09T21:01:12.234433Z","yyyy-MM-dd'T'HH:mm:ss.SSSSSS'Z'") -> result in null

Can anybody suggests the possible reason for this behavior?

Edit (19-Apr-2023) : I believe this might be due to the version of spark that I'm using. Its not an offcial spark version and is probably a distribution of cloudera(I will confirm this) because the exact same function is properly working in official spark version 3.0.0

答案1

得分: 1

以下是已翻译的内容:

  1. 格式字符串区分大小写。
  2. 用于表示偏移量为零的区偏移字符是 X

因此,这两个格式字符串应为 yyyy-MM-dd'T'HH:mm:ssXyyyy-MM-dd'T'HH:mm:ss.SSSSSSX,但如果区偏移始终为零,则也可以使用 yyyy-MM-dd'T'HH:mm:ss.SSSSSS'Z'

英文:

Two things should be changed (docs):

  1. the format string is case-sensitive and
  2. the character to use for the zone-offset with offset zero printed as Z is X

So the two format strings should be yyyy-MM-dd'T'HH:mm:ssX and yyyy-MM-dd'T'HH:mm:ss.SSSSSSX, but using yyyy-MM-dd'T'HH:mm:ss.SSSSSS'Z' also works of the zone-offset is always zero.

huangapple
  • 本文由 发表于 2023年4月17日 01:52:27
  • 转载请务必保留本文链接:https://go.coder-hub.com/76029439.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定