Hive:space函数

1、空格字符串函数:space
语法: space(int n)
返回值: string
说明:返回长度为n的空格字符串

hive> select space(10) ;
hive> select length(space(10)) ;
10

2、space函数与split函数结合,得到数组;
space函数与split函数结合,可以得到空格字符串数组
举例:

hive>select split(space(10), '');
[" "," "," "," "," "," "," "," "," "," ",""]

3、如何产生1-100的连续的数字?
结合space函数与split函数,posexplode函数,lateral view函数获得
实现方法一:

select
id_start+pos as id
from(
    select
    1 as id_start,
    100 as id_end
) m  lateral view posexplode(split(space(id_end-id_start), '')) t as pos, val

实现方法二:

select
  row_number() over() as id
from  
  (select split(space(99), ' ') as x) t
lateral view
explode(x) ex;

解释:explode(x)和posexplode()均为炸裂函数,区别在于explode炸出一个值,posexplode不仅炸出一个值还附带索引号;


版权声明:本文为qq_44696532原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。