I have learnt that Pig is built on top of Apache Hadoop. But I am not able to find the extra features that a bare hadoop implementation lacks that Pig has. What caused the need for a language like Pig Latin? What was lacking in Hadoop?
1 に答える
ウィキからの引用:
Pig は、Hadoop で使用される MapReduce プログラムを作成するための高レベルのプラットフォームです。このプラットフォームの言語は、Pig Latin と呼ばれます。Pig Latin は、プログラミングを Java MapReduce イディオムから RDBMS システムの SQL と同様に、MapReduce プログラミングを高レベルにする表記法に抽象化します。Pig Latin は、ユーザーが Java、Python、または JavaScript で記述し、言語から直接呼び出すことができる UDF (ユーザー定義関数) を使用して拡張できます。
さて、上記のキーワードはハイレベルとアブストラクトです。主要なプログラミング言語の知識がなくてもデータベースを作成/管理できる DBA を持つ方法ですが、SQL については、同様に、どのように/何が行われているかの複雑さに入ることなく、Pig を使用してデータ パイプライン/ウェアハウスを作成/管理するデータ エンジニアを持つことができます。 Hadoop ジョブとして実装/実行されます。したがって、あなたの質問に答えるために、Pig は、Hadoop に欠けている機能を補完するものではありませんが、Hadoop の上に構築された高レベルのフレームワークであり、物事をより迅速に行うことができます (開発時間)。
Pig が Hadoop で行うすべてのことは確かに実行できますが、Pig のいくつかの高度な機能を試して、それらの Hadoop ジョブを作成するにはかなりの時間がかかります。したがって、非常に自由に言えば、データエンジニアリング全体で一般的/一般的なタスクのいくつかは、Pig の形式で事前に裸の Hadoop に実装されているため、Pig-Latin で実行するように指示するだけで済みます。