Skip to end of metadata
Go to start of metadata

Google Summer of Code 2013 for Pig

Pig is exciting! Pig provide an intuitive way to program hadoop. Inside Yahoo!, more than 80% of hadoop jobs are Pig jobs. It is heavily used in Twitter, Linkedin and lots of other organizations (

This is the forth straight year Pig participate Google Summer of Code. Last year we accepted 5 students and 4 of them complete their projects successfully.

Here we picked up a list of highly desired projects for students. Once accepted, we will assign a dedicated mentor to guide you through different stages of the program. We need your help and you will get a great experience of participating an open source project.

Project List

More sampling algorithm

Currently, sample statement only support for simple random sampling. It is better we can support more (stratified sampling, bootstrap sample, etc):

Move grunt from javacc to ANTRL (

Provide a more flexible data format to load complex field (bag/tuple/map) in PigStorage (

We need a more flexible PigStorage to parse complex field, which provide a way to escape special characters, customize delimiters

A better plan/data flow visualizer for Pig (

Implement a graphic visualizer for Pig

Mavenize Pig (

Switch Pig build system from ant to maven.

Allow Pig use Hive UDFs (

Wrapping Hive UDF in Pig so we can use Hive UDF in Pig

Other Project Ideas

You can also propose new project not listed. Please discuss with us before apply.

Getting start

First, you need to learn PigLatin language. The best source for learning PigLatin is:

Be sure to sign up pig mailing list.

Then checkout Pig source code using svn:
svn co

Set up environment for Eclipse:

Learn more about Pig internal at Pig paper at VLDB 2009.

Browse through Pig code. Some good start points are:

Try to start with something simpler:

How to Apply

  • Follow GSoc instruction to apply. Please apply to Apache Software Foundation.
  • A competent application should include:
    1. A little about your background
    2. Your experience level in hadoop/MapReduce/NoSQL or related areas, Java programming skill
    3. Project understanding
    4. Proposed project schedule
  • Keep timeline in mind.
  • It is highly recommend to discuss your interest before you apply. The best way to discuss is to comment on individual Jira or send mail to dev list.
  • No labels