目录
大数据技术普及后,很多类似pv,uv的数据,在业务系统中以json的方式存储存贮在非关系型数据库中,直接导入hive为基础的数仓系统中,就需要经过ETL过程解析这类数据,Hive的lateral view内置函数在这种情景下应运而生。
【1】parse_url_tuple()
语法: parse_url(string urlString, string partToExtract [, string keyToExtract]),parse_url_tuple()功能类似parse_url(),但它可以同时提取多个部分并返回。
返回值:String
说明:返回URL中指定的部分。partToExtract的有效值为:HOST, PATH, QUERY, REF, PROTOCOL, AUTHORITY, FILE, and USERINFO。
hive> select parse_url_tuple(‘http://facebook.com/path1/p.php?k1=v1&k2=v2#Ref1’, ‘QUERY:k1’, ‘QUERY:k2’);
>>v1 v2
【2】lateral view
是将右边的表或者结果合并到左边表,和左边表整合成一张表。
create table t_ods_tmp_referurl as
SELECT a.*,b.* FROM ods_weblog_origin a LATERAL VIEW parse_url_tuple(regexp_replace(http_referer, “”", “”), ‘HOST’, ‘PATH’,‘QUERY’, ‘