Hive的row_number和regexp_extract结合带来的乱码问题
select userid, from_unixtime(createtime,'yyyy-MM-dd') as dateid, regexp_extract(browser,'^([^\\(]*).*$',1) as browser, operationsystem, device, row_number() over (partition by userid order by createtime) as rn from ods_log_full where module='user' and action='login_success' and from_unixtime(createtime,'yyyy-MM-dd')='2023-07-26'
如果这样的话,那么中文会出现乱码。
暂时的解决办法时,使用hive的regexp_replace函数。这个函数没有上述的问题。