concat_ws 使用在hive spark-sql上的区别

Posted Books&Coffee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了concat_ws 使用在hive spark-sql上的区别相关的知识,希望对你有一定的参考价值。

concat_ws() 在hive中,被连接对象必须为string或者array<string>,否则报错如下:
hive> select concat_ws(‘,‘,unix_timestamp(‘2012-12-07 13:01:03‘),unix_timestamp(‘2012-12-07 15:01:03‘));
FAILED: SemanticException [Error 10016]: Line 1:21 Argument type mismatch ‘‘2012-12-07 13:01:03‘‘: 
Argument 2 of function CONCAT_WS must be "string or array<string>", but "bigint" was found.

 

但是在 spark-sql中,concat_ws()中,被连接的对象并不一定为string,也可以是int

(unix_timestamp()返回的是bigint类型)

 

spark-sql> select concat_ws(‘,‘,unix_timestamp(‘2012-12-07 13:01:03‘),unix_timestamp(‘2012-12-07 15:01:03‘));

输出结果: 1354856463,1354863663

  

 




以上是关于concat_ws 使用在hive spark-sql上的区别的主要内容,如果未能解决你的问题,请参考以下文章

hive中多行合并一行concat_ws(去重及不去重)

Hive concat,concat_ws 遇到NULL 用法

如何在 hive 中进行字符串连接

如何按CONCAT_WS分组

concat和concat_ws

在 hive 和 impala 中收集列表功能