File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Distributed Java and the fly likes Is Pig for beginners in programming? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Distributed Java
Bookmark "Is Pig for beginners in programming?" Watch "Is Pig for beginners in programming?" New topic

Is Pig for beginners in programming?

Rogerio Kioshi
Ranch Hand

Joined: Apr 12, 2005
Posts: 690
Is it?

Mike Hancock

Joined: Mar 13, 2009
Posts: 10

Forgive my vast ignorance, but what exactly is Pig? Where would I use it?

Alan Gates

Joined: Nov 29, 2011
Posts: 7
Pig is designed for users who want to describe their data transformations, not get bogged down in the details of writing code. So it is usable by beginning programmers. Some of the more advanced features will require programming skills.

As to what it is, from Pig's website (

Apache Pig is a platform for analyzing large data sets that consists of a high-level language for expressing data analysis programs, coupled with infrastructure for evaluating these programs. The salient property of Pig programs is that their structure is amenable to substantial parallelization, which in turns enables them to handle very large data sets.

At the present time, Pig's infrastructure layer consists of a compiler that produces sequences of Map-Reduce programs, for which large-scale parallel implementations already exist (e.g., Hadoop). Pig's language layer currently consists of a textual language called Pig Latin, which has the following key properties:

Ease of programming. It is trivial to achieve parallel execution of simple, "embarrassingly parallel" data analysis tasks. Complex tasks comprised of multiple interrelated data transformations are explicitly encoded as data flow sequences, making them easy to write, understand, and maintain.
Optimization opportunities. The way in which tasks are encoded permits the system to optimize their execution automatically, allowing the user to focus on semantics rather than efficiency.
Extensibility. Users can create their own functions to do special-purpose processing.
I agree. Here's the link:
subject: Is Pig for beginners in programming?
It's not a secret anymore!