从 Impala 中的时间戳值变量中提取日期
Posted
技术标签:
【中文标题】从 Impala 中的时间戳值变量中提取日期【英文标题】:extract the date from a timestamp value variable in Impala 【发布时间】:2018-06-24 20:19:49 【问题描述】:如何?
例如时间 = 2018-04-11 16:05:19 应该是 2018-04-11
【问题讨论】:
Afaik Impala 支持trunc(ts_col, 'D')
非常感谢,这会创建:2018-03-26 00:00:00 - 但我怎样才能只获得 2018-03-26?
强制转换为字符串加子字符串?
有人知道如何使用 extract 吗?我看到一个人可以做到这一年,但它是如何做到的?
EXTRACT 仅支持 YEAR/MONTH/DAY 作为单个值,但不支持组合。而且 Impala 不支持 DATE 数据类型,那么它将是一个简单的CAST(tscol AS DATE)
【参考方案1】:
试试这个:
from_timestamp('2018-04-11 16:05:19','yyyy-MM-dd') as date_value
from_timestamp(datetime timestamp, pattern string):将 TIMESTAMP 值转换为表示相同值的字符串。请参阅文档here
【讨论】:
虽然此代码可以解决 OP 的问题,但最好包含关于您的代码如何解决 OP 问题的说明。这样,未来的访问者可以从您的帖子中学习,并将其应用到他们自己的代码中。 SO 不是编码服务,而是知识资源。此外,高质量、完整的答案更有可能得到支持。这些功能,以及所有帖子都是独立的要求,是 SO 作为一个平台的一些优势,使其与论坛区分开来。您可以编辑以添加其他信息和/或使用源文档补充您的解释。【参考方案2】:to_date (t1.local_time), as date_value
to_date:从时间戳值返回日期字段的字符串表示形式。
【讨论】:
以上是关于从 Impala 中的时间戳值变量中提取日期的主要内容,如果未能解决你的问题,请参考以下文章
logstash默认timestamp时间戳值修改为日志中提取的时间