我有一行URL列。
我喜欢将URL分解为域和路径。我可以使用BigQuery语法中的域(URL)来执行域。
我的问题是如何获取网址的路径?
e.g。 http://www.somedomain.com/X/Y/abc
我想将X,Y和abc作为单独的columsn。
答案 0 :(得分:5)
您可以使用REGEXP提取您需要的内容
SELECT Regexp_extract(URL,r'^http://www(?:[^/]*)/(.*)') as full_path,
Regexp_extract(URL,r'^http://www(?:[^/]*)/(?:[^/]*/){0}([^/]*)') as full_path0,
Regexp_extract(URL,r'^http://www(?:[^/]*)/(?:[^/]*/){1}([^/]*)') as full_path1,
Regexp_extract(URL,r'^http://www(?:[^/]*)/(?:[^/]*/){2}([^/]*)') as full_path2,
Regexp_extract(URL,r'^http://www(?:[^/]*)/(?:[^/]*/){3}([^/]*)') as full_path3,
FROM
(Select 'http://www.somedomain.com/X/Y/abc' as URL)
关于与MS日志解析器的比较。
享受
答案 1 :(得分:0)
ga_sessions已点击叶表,自动分解您的网址
以
为例http://www.somedomain.com/X/Y/abc
hits.page.pagePathLevel1 will have 'www.somedomian.com/'
hits.page.pagePathLevel2 will have '/X/'
hits.page.pagePathLevel3 will have '/Y/'