Home Forums Pig piggybank

Tagged: 

This topic contains 1 reply, has 2 voices, and was last updated by  abdelrahman 10 months, 3 weeks ago.

  • Creator
    Topic
  • #39698

    Pawel Kowalski
    Participant

    Hi there
    I’ve got apache logs I want to analyze.
    For that i’m going to use piggybank.jar. I’m testing on Hortonworks Sandbox.
    So my script is:

    REGISTER piggybank.jar;
    DEFINE ApacheCommonLogLoader org.apache.pig.piggybank.storage.apachelog.CommonLogLoader();
    DEFINE DayExtractor org.apache.pig.piggybank.evaluation.util.apachelogparser.DateExtractor(‘yyyy-MM-dd’);

    logs = LOAD ‘apache.log’ USING ApacheCommonLogLoader
    AS (ip_address, dt, userId, sth, request, status, bytes_string, referersite, clientbrowser);

    DUMP logs;

    The script finishes with Succes, but no data areloaded from file apache.log.
    Have you got any suggestions?

    Thanks
    Pawel

Viewing 1 replies (of 1 total)

You must be logged in to reply to this topic.

  • Author
    Replies
  • #39800

    abdelrahman
    Moderator

    Hi Pawel,

    Please use Illustrate. It is one of the best ways to debug PIG scripts. Depending on the size of the data illustrate will provide friendly data representation. It works by taking a sample of the output data and runs it through the script. But as it encounters operators that remove data (such as filter, join, etc.) it makes sure that some records pass through the operator and some do not. When necessary it will manufacture records that look like yours (i.e. have the same schema) but are not in the data sample it took.
    grunt> divs = load ‘NYSE_dividends’ as (e:chararray, s:chararray, d:chararray, div:float);
    recent = filter divs by d > ’2009-01-01′;
    trimmd = foreach recent generate s, div;
    grpd = group trimmd by s;
    avgdiv = foreach grpd generate group, AVG(trimmd.div);
    illustrate avgdiv;

    Also use local mode: Running PIG scripts in local mode helps debugging issues. Please see the example below of how to run PIG client in local mode:
    pig -x local -e ‘explain -script mypig.pig’

    Information source:

    http://chimera.labs.oreilly.com/books/1234000001811/ch07.html#explain

    Thanks
    -Rahman

    Collapse
Viewing 1 replies (of 1 total)