to create new topics or reply. | New User Registration


This topic contains 1 reply, has 2 voices, and was last updated by  abdelrahman 1 year, 9 months ago.

  • Creator
  • #39698

    Pawel Kowalski

    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?


Viewing 1 replies (of 1 total)

You must be to reply to this topic. | Create Account

  • Author
  • #39800


    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:


Viewing 1 replies (of 1 total)
Hortonworks Data Platform
The Hortonworks Data Platform is a 100% open source distribution of Apache Hadoop that is truly enterprise grade having been built, tested and hardened with enterprise rigor.
Get started with Sandbox
Hortonworks Sandbox is a self-contained virtual machine with Apache Hadoop pre-configured alongside a set of hands-on, step-by-step Hadoop tutorials.
Modern Data Architecture
Tackle the challenges of big data. Hadoop integrates with existing EDW, RDBMS and MPP systems to deliver lower cost, higher capacity infrastructure.