如何将 Unix 时间戳转换为 Foundry Contour 中的日期?
How can I convert a Unix timestamp to a date in Foundry Contour?
Foundry Contour table 和列编辑器可以轻松解析包含年、月、日的某种组合作为日期的字符串,但我一直无法弄清楚如何转换表示日期的 Unix 时间戳的 Long。
有什么技巧是我遗漏的吗?我试过 CAST(utc_column AS date)
,这会导致错误,并且我探索了“解析日期”,但似乎只有包含年、月和日的某种组合的字符串才适用。
您不能将长整数直接转换为日期,但可以将它们转换为时间戳。如果您特别想要一个日期而不是时间戳,则可以转换为日期。
需要注意的一点是,Spark 假设您要转换为时间戳的多头是自纪元以来的秒数,而不是自纪元以来的毫秒数。
因此,最终查询可能必须类似于:
CAST(CAST((utc_column) AS TIMESTAMP) AS DATE)
或
CAST(CAST((utc_column / 1000) AS TIMESTAMP) AS DATE)
取决于底层 Unix 时间戳的缩放比例。这是 Spark 的一项基本功能,Palantir 团队正在研究改善此转换体验的方法。
Foundry Contour table 和列编辑器可以轻松解析包含年、月、日的某种组合作为日期的字符串,但我一直无法弄清楚如何转换表示日期的 Unix 时间戳的 Long。
有什么技巧是我遗漏的吗?我试过 CAST(utc_column AS date)
,这会导致错误,并且我探索了“解析日期”,但似乎只有包含年、月和日的某种组合的字符串才适用。
您不能将长整数直接转换为日期,但可以将它们转换为时间戳。如果您特别想要一个日期而不是时间戳,则可以转换为日期。
需要注意的一点是,Spark 假设您要转换为时间戳的多头是自纪元以来的秒数,而不是自纪元以来的毫秒数。
因此,最终查询可能必须类似于:
CAST(CAST((utc_column) AS TIMESTAMP) AS DATE)
或
CAST(CAST((utc_column / 1000) AS TIMESTAMP) AS DATE)
取决于底层 Unix 时间戳的缩放比例。这是 Spark 的一项基本功能,Palantir 团队正在研究改善此转换体验的方法。