从 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时间戳值修改为日志中提取的时间

iOS日期转换器返回正确的日期[重复]

Firebase 时间戳值及查询 | JavaScript

Impala 无法从 Parquet 文件中读取无日期时间戳

Bigquery 无法加载数据日期值或时间戳值格式错误

期望时间戳值Cassandra的长或日期字符串表示