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上的区别的主要内容,如果未能解决你的问题,请参考以下文章