Deepak
Deepak

Reputation: 739

Can PIG and HIVE be called separate programming models?

This question might sound irritating, and may not actually have anything to do with real programming. It's a spin-off of a small debate i had with a colleague of mine. He kept insisting that HIVE and PIG can be called as separate "programming models" because when you write MapReduce jobs in these, you don't really need to think in MapReduce - especially if you're programming in HIVE. From the programmer's perspective, the MapReduce part is completely abstracted. It's completely SQL-like.

But I kind of disagreed, because the scripts written in these languages ultimately get converted into multiple mapreduce jobs in the end. So, these can be called as higher level programming languages to program for the same model. And the word programming model should be looked at from the point of view of the underlying data waiting to be crunched, and the not the programmer.

What's your opinion?

Upvotes: 1

Views: 666

Answers (1)

David Gruzman
David Gruzman

Reputation: 8088

I would define it as following: HIVE and PIG are on the different abstraction levels. The closes analogy is SQL and query execution plan. They both solve the same problem of database query, but SQL is declarative and state what should be a result, while query execution plan specify actions to achieve it. In this example HIVE is SQL and PIG - query execution plan.
We can state that HIVE is declarative and sit on higher level of abstraction then imperative PIG. So logically HIVE request can be translated to the PIG.

Upvotes: 2

Related Questions