Hadoop Pig チュートリアル: Apache Pig とは何ですか? Archi構造、例

Pig の紹介から始めます

Apache Pigとは何ですか?

Pig は、大規模なデータ セットの分析に役立つ高レベル プログラミング言語です。 Pig は Yahoo! での開発努力の成果です。

MapReduce フレームワークでは、プログラムを一連の Map および Reduce ステージに変換する必要があります。 ただし、これはデータ アナリストが精通しているプログラミング モデルではありません。 そこで、このギャップを埋めるために、Hadoop 上に Pig と呼ばれる抽象化が構築されました。

Apache Pig を使用すると、人々はさらに集中できるようになります。 バルク データ セットを分析し、Map-Reduce プログラムの作成時間を短縮します。 何でも食べる豚に似たアパッチ豚 プログラミング言語 あらゆる種類のデータを処理できるように設計されています。 だから名前は「ブタ」なんです!

だから名前は「ブタ」なんです!
だから名前は「ブタ」なんです!

この初心者向けの Apache Pig チュートリアルでは、次のことを学びます。

豚 Archi構造

その ArchiPig の構造は 2 つのコンポーネントで構成されます。

  1. 豚ラテン語、 どれが言語ですか
  2. ランタイム環境、 PigLatin プログラムを実行するためのものです。

Pig Latin プログラムは、出力を生成するために入力データに適用される一連の操作または変換で構成されています。これらの操作は、Hadoop Pig 実行環境によって実行可能な表現に変換されるデータ フローを記述します。その下には、これらの変換の結果が一連の MapReduce ジョブとして存在しますが、プログラマーはそれを認識していません。つまり、ある意味では、Hadoop の Pig によって、プログラマーは実行の性質ではなくデータに集中できるようになります。

PigLatin は比較的強化された言語で、データ処理でおなじみのキーワード (結合、グループ、フィルターなど) を使用します。

Hadoop PIG チュートリアル: 概要、インストール、例
豚 Archi構造

実行モード:

Hadoop の Pig には XNUMX つの実行モードがあります。

  1. ローカル モード: このモードでは、Hadoop Pig 言語が単一の言語で実行されます。 JVM ローカル ファイル システムを利用します。 このモードは、Hadoop で Pig を使用した小規模なデータセットの分析にのみ適しています。
  2. Map Reduce モード: このモードでは、Pig Latin で記述されたクエリは次のように変換されます。 MapReduce ジョブは Hadoop クラスター上で実行されます (クラスターは擬似分散型または完全分散型です)。完全分散型クラスターを使用した MapReduce モードは、大規模なデータセットで Pig を実行する場合に便利です。

Pig をダウンロードしてインストールする方法

この Apache Pig チュートリアルでは、Pig をダウンロードしてインストールする方法を学びます。

実際のプロセスを始める前に、Hadoop がインストールされていることを確認してください。 ユーザーを「hduser」に変更します (Hadoop 構成中に使用される ID。Hadoop 構成中に使用されるユーザー ID に切り替えることができます)

Hadoop PIG チュートリアル: 概要、インストール、例

ステップ1) 次のいずれかのミラー サイトから、Pig Hadoop の安定した最新リリースをダウンロードします。

http://pig.apache.org/releases.html

Hadoop PIG チュートリアル: 概要、インストール、例

選択する tar.gz (ではなく src.tar.gz) ダウンロードするファイル。

ステップ2) ダウンロードが完了したら、ダウンロードした tar ファイルを含むディレクトリに移動し、その tar ファイルを Pig Hadoop をセットアップする場所に移動します。 この場合、/usr/local に移動します。

Hadoop PIG チュートリアル: 概要、インストール、例

Pig Hadoop ファイルを含むディレクトリに移動します

cd /usr/local

以下のようにtarファイルの内容を抽出します。

sudo tar -xvf pig-0.12.1.tar.gz

Hadoop PIG チュートリアル: 概要、インストール、例

ステップ3)。 修正します 〜/ .bashrc Pig 関連の環境変数を追加するには

店は開いています 〜/ .bashrc 任意のテキスト エディターでファイルを作成し、以下の変更を加えます。

export PIG_HOME=<Installation directory of Pig>
export PATH=$PIG_HOME/bin:$HADOOP_HOME/bin:$PATH

Hadoop PIG チュートリアル: 概要、インストール、例

ステップ4) 次に、以下のコマンドを使用してこの環境構成を取得します。

. ~/.bashrc

Hadoop PIG チュートリアル: 概要、インストール、例

ステップ5) 再コンパイルする必要があります サポートへ ハドゥープ 2.2.0

これを行う手順は次のとおりです。

PIG ホームディレクトリに移動します

cd $PIG_HOME

Antをインストールする

sudo apt-get install ant

Hadoop PIG チュートリアル: 概要、インストール、例

注: ダウンロードが開始され、インターネット速度に応じて時間がかかります。

PIG を再コンパイルする

sudo ant clean jar-all -Dhadoopversion=23

Hadoop PIG チュートリアル: 概要、インストール、例

この再コンパイル プロセスでは、複数のコンポーネントがダウンロードされることに注意してください。 したがって、システムはインターネットに接続する必要があります。

また、このプロセスがどこかでスタックし、20 分以上コマンド プロンプトに動きが見られない場合は、 Ctrl + C 同じコマンドを再実行します。

私たちの場合、20分かかります

Hadoop PIG チュートリアル: 概要、インストール、例

手順 6) テストする コマンドを使用したインストール

pig -help

Hadoop PIG チュートリアル: 概要、インストール、例

Pig スクリプトの例

Pig スクリプトを使用して、各国で販売された製品の数を調べます。

入力: 入力データセットは CSV ファイルです。 SalesJan2009.csv

手順 1) Hadoopを開始する

$HADOOP_HOME/sbin/start-dfs.sh
$HADOOP_HOME/sbin/start-yarn.sh

手順 2) Pig in Big Data は次からファイルを取得します HDFS MapReduce モードで結果を HDFS に保存します。

ファイルをコピーする SalesJan2009.csv (ローカル ファイル システムに保存され、 ~/input/SalesJan2009.csv) HDFS (Hadoop 分散ファイル システム) ホーム ディレクトリへ

この Apache Pig の例では、ファイルはフォルダー入力にあります。 ファイルが他の場所に保存されている場合は、その名前を付けます

$HADOOP_HOME/bin/hdfs dfs -copyFromLocal ~/input/SalesJan2009.csv /

Hadoop PIG チュートリアル: 概要、インストール、例

実際にファイルがコピーされたかどうかを確認します。

$HADOOP_HOME/bin/hdfs dfs -ls /

Hadoop PIG チュートリアル: 概要、インストール、例

ステップ3) 豚の構成

まず、$PIG_HOME/conf に移動します。

cd $PIG_HOME/conf
sudo cp pig.properties pig.properties.original

Hadoop PIG チュートリアル: 概要、インストール、例

店は開いています pig.properties 任意のテキスト エディタを使用して、ログ ファイルのパスを指定します。 pig.logfile

sudo gedit pig.properties

Hadoop PIG チュートリアル: 概要、インストール、例

Loger はこのファイルを使用してエラーを記録します。

ステップ4) コマンド「pig」を実行すると、対話型シェル Pig クエリである Pig コマンド プロンプトが起動されます。

pig

Hadoop PIG チュートリアル: 概要、インストール、例

ステップ5)Pig の Grunt コマンド プロンプトで、以下の Pig コマンドを順番に実行します。

— A. データを含むファイルをロードします。

salesTable = LOAD '/SalesJan2009.csv' USING PigStorage(',') AS (Transaction_date:chararray,Product:chararray,Price:chararray,Payment_Type:chararray,Name:chararray,City:chararray,State:chararray,Country:chararray,Account_Created:chararray,Last_Login:chararray,Latitude:chararray,Longitude:chararray);

このコマンドの後に Enter を押します。

Hadoop PIG チュートリアル: 概要、インストール、例

— B. データをフィールド国ごとにグループ化する

GroupByCountry = GROUP salesTable BY Country;

Hadoop PIG チュートリアル: 概要、インストール、例

— C. の各タプルについて 「国別グループ」、フォームの結果の文字列を生成します-> 国名: 販売された製品の数

CountByCountry = FOREACH GroupByCountry GENERATE CONCAT((chararray)$0,CONCAT(':',(chararray)COUNT($1)));

このコマンドの後に Enter を押します。

Hadoop PIG チュートリアル: 概要、インストール、例

— D. データ フローの結果をディレクトリに保存する 'pig_output_sales' HDFS 上

STORE CountByCountry INTO 'pig_output_sales' USING PigStorage('\t');

Hadoop PIG チュートリアル: 概要、インストール、例

このコマンドの実行には少し時間がかかります。完了すると、次の画面が表示されます。

Hadoop PIG チュートリアル: 概要、インストール、例

ステップ6) 結果はコマンド インターフェイスから次のように確認できます。

$HADOOP_HOME/bin/hdfs dfs -cat pig_output_sales/part-r-00000

Hadoop PIG チュートリアル: 概要、インストール、例

結果は Web インターフェイス経由でも確認できます。

Web インターフェースを介した結果 -

店は開いています http://localhost:50070/ Webブラウザーで。

Hadoop PIG チュートリアル: 概要、インストール、例

今すぐ選択 「ファイルシステムを参照」 そして上まで移動します /user/hduser/pig_output_sales

Hadoop PIG チュートリアル: 概要、インストール、例

店は開いています パート-r-00000

Hadoop PIG チュートリアル: 概要、インストール、例