在Hive中,如何将string 类的 时间戳,转换成日期?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Hive中,如何将string 类的 时间戳,转换成日期?相关的知识,希望对你有一定的参考价值。
参考技术A from_unixtime(bigintunixtime[,
string
format])转换成日期格式,如果需要制定是日期可以在这个基础上套一层to_date(from_unixtime())
如何将数组<string>转换为hive中的字符串
【中文标题】如何将数组<string>转换为hive中的字符串【英文标题】:How to convert array<string> to string in hive 【发布时间】:2020-04-17 13:45:23 【问题描述】:我想将 array<string>
转换为 hive 中的字符串。数组数据如下:
+-------------------------------------+--+
| NULL |
| ["Extension","Terms & Conditions"] |
| ["Value (generic or item level)"] |
+-------------------------------------+--+
我想收集数组值以在没有[""]
的情况下转换为字符串,这样我就可以得到如下结果:
+-------------------------------------+--+
| NULL |
| Extension,Terms & Conditions |
| Value (generic or item level) |
+-------------------------------------+--+
以下查询:select concat_ws(',', col_name) as col_name from table_stg;
提供了结果,但将 NULL
返回为空。我尝试了几个参考,例如:
How can I convert array to string in hive sql?
Hive - How to cast array to string?
但没有得到想要的结果。有什么方法可以得到想要的结果吗?
【问题讨论】:
使用case
表达式。 case when size(col_name) = 0 then null else concat_ws(',',col_name) end
嗨@VamsiPrabhala - 检查大小不起作用,但它给了我解决这个问题的想法。感谢您的评论:)
【参考方案1】:
参考 Vamsi 评论,我设法得到了这个,并想为社区参考回答。
select case when col_name is NULL then NULL
else concat_ws(',',col_name) end from table_name;
【讨论】:
以上是关于在Hive中,如何将string 类的 时间戳,转换成日期?的主要内容,如果未能解决你的问题,请参考以下文章
java 中 如何将“一个类的方法 ”作为参数传到“另一个类的方法”中
Jackson ObjectMapper 如何将 byte[] 传输到 String 以及如何在没有对象类的情况下翻译它?
[转] String to Date conversion in hive - 在 Hive 中各种字符串转换成日期格式