乐趣区

关于hive:HIVE函数1

insert overwrite table ... partition(platform_id)
select
if(user_id regexp('.*:.*'),user_id,concat(platform_id,':',user_id)) as
user_id,
...,
last_onlined_at,created_at,rating_score,updated_at,noise,platform_id from `XXX`;

concat

concat(platform_id,’:’,user_id)) as
user_id
concat 拼接别名为 user_id

if

if() 相当于三目运算符
if(条件表达式,后果 1,后果 2)相当于 java 中的三目运算符, 只是 if 前面的表达式类型能够不一样。
if 中的等于条件用“=”或“==”均可

REGEXP_EXTRACT

regexp_extract(string A, string pattern, int index)
返回值: string
阐明:将字符串 A 依照 pattern 正则表达式的规定拆分,返回 index 指定的字符,index 从 1 开始计。

REGEXP_REPLACE

语法: regexp_replace(string A, string B, string C)
操作类型: strings
返回值: string
阐明: 将字符串 A 中的合乎 java 正则表达式 B 的局部替换为 C。

hive> select regexp_replace('h234ney', '\\d+', 'o');
OK
honey
退出移动版