目录
大数据技术普及后,很多类似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’, ‘QUERY

这篇博客介绍了Hive中用于解析URL和处理JSON数据的内置函数,如parse_url_tuple()和lateral view explode()。parse_url_tuple()用于提取URL的特定部分,而lateral view则用于将数据展开成多行,配合explode()处理数组结构,常用于从非关系型数据库导入到Hive数仓的ETL过程中。
最低0.47元/天 解锁文章
8050





