Pig Forum

piggybank

  • #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

to create new topics or reply. | New User Registration

  • 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

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

Support from the Experts

A HDP Support Subscription connects you experts with deep experience running Apache Hadoop in production, at-scale on the most demanding workloads.

Enterprise Support »

Become HDP Certified

Real world training designed by the core architects of Hadoop. Scenario-based training courses are available in-classroom or online from anywhere in the world

Training »

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.