共计 642 个字符,预计需要花费 2 分钟才能阅读完成。
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
正文完