【问题标题】:pig script to parse aws elb log用于解析 aws elb 日志的猪脚本
【发布时间】:2016-09-29 16:33:34
【问题描述】:

我正在尝试用 pig 解析这个 elb 日志,我可以使用这个脚本成功解析它

++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++ 2016-07-16T00:00:41.700161Z testelb 11.11.17.2:50883 192.168.1.94:80 0.00002 0.001392 0.000019 200 200 0 43 "GET @987654321 like@Mac (iPhone CPU OS) (iPhone CPU OS 1.1" "Mozilla/5. OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13F69" - - ++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++

***************************************************************
A = LOAD '/tmp/one.log' USING TextLoader AS (line:chararray);

B = FOREACH A GENERATE FLATTEN (
    REGEX_EXTRACT_ALL(
            line,'^(\\S+) (\\S+) (\\S+) (\\S+) (\\S+) (\\S+) (\\S+) (\\S+) (\\S+) (\\S+) (\\S+) "(.+?)" "(.+?)" (\\S+) (\\S+)')
    ) AS (
    timestamp:chararray, elb:int, client_port:chararray, backend_port:chararray, request_processing_time:float, backend_processing_time:float, response_processing_time:float, elb_status_code:int, backend_status_code:int, received_bytes:int, sent_bytes:int, request:chararray, user_agent:chararray, ssl_cipher:chararray, ssl_protocol:chararray
);

DUMP B;

现在我想提取请求 url、aid、bid、cid 等,但无法匹配正则表达式。有人可以帮我获取这些详细信息吗?

除了上述正则表达式方法之外,如果还有其他方法可以获取完整的 elb 日志详细信息,那么我想知道。

注意:请求日志中的aid、bid和cid的位置不固定。

【问题讨论】:

    标签: hadoop apache-pig hadoop2


    【解决方案1】:

    您的问题已经回答here

    Alternate way to do the same task 需要自定义加载器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-04-27
      • 2017-05-23
      • 2014-12-22
      • 1970-01-01
      • 2019-04-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多