Apache Pig:来自网络日志的额外查询参数
我正在分析 AWS CloudFront 访问日志。
我有加载文件行的代码
raw_logs2 =LOAD 'file:///home/ec2-user/ENWRZAC68E00M.2011-02-28-18.72jA8eGh'
USING PigStorage('\t')
AS (
date: chararray, time: chararray, x_edge_location: chararray, sc_bytes: int,
c_ip: chararray, cs_method: chararray, cs_host: chararray, cs_uri_stem: chararray,
sc_status: chararray, cs_referer: chararray, cs_user_agent:chararray, cs_uri_query: chararray
);
现在我正在尝试解析查询字符串参数(名称/值对):
p=searchresults&s=homesforsale&gad=&gci=FOUNTAIN%2520VALLEY&gst=CA&gzi=&k=fountainvalleyca&ts=1298918206&
如何将附加列添加到我的 raw_logs2 表中,以获取 p、s 和 gci 的值查询字符串?
I am working on analyzing AWS CloudFront access logs.
I have the code to load the lines of the file
raw_logs2 =LOAD 'file:///home/ec2-user/ENWRZAC68E00M.2011-02-28-18.72jA8eGh'
USING PigStorage('\t')
AS (
date: chararray, time: chararray, x_edge_location: chararray, sc_bytes: int,
c_ip: chararray, cs_method: chararray, cs_host: chararray, cs_uri_stem: chararray,
sc_status: chararray, cs_referer: chararray, cs_user_agent:chararray, cs_uri_query: chararray
);
Now I am trying to parse the query string parameters(name/value pairs):
p=searchresults&s=homesforsale&gad=&gci=FOUNTAIN%2520VALLEY&gst=CA&gzi=&k=fountainvalleyca&ts=1298918206&
How can I add an additional columns to my raw_logs2 table for the values of p,s and gci in the query string?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
一种快速的方法是使用 REGEX_EXTRACT_ALL:
One quick way to do it is to use REGEX_EXTRACT_ALL: