ビッグデータの正則化-12-pigは、大規模なデータを処理するための高レベルのクエリ言語です

1はじめに

データフローを説明するために使用される言語は、PigLatinと呼ばれます。現在、Pig Latinプログラムを実行するための実行環境には、単一のJVM内のローカル実行環境とHadoopクラスター上の分散実行環境の2つの環境があります。

Pigでは、各操作または変換は入力データを処理してから出力結果を生成します。これらの変換操作は一連のMapReduceジョブに変換されます。Pigを使用すると、プログラマーはこれらの変換がどのように実行されるかを知る必要がなくなり、エンジニアは、実装の詳細ではなく、データに焦点を合わせることができます。

2ダウンロードしてインストールします

インストールパッケージのダウンロードアドレス:http://pig.apache.org/releases.html。
ここに画像の説明を挿入します
#tar -xzvf pig-0.17.0.tar.gz -C / usr / local / #cd
/ usr / local /
#mv pig-0.17.0 / pig
#vi /root/.bashrc

export PIG_HOME=/usr/local/pig
export PATH=$PATH:$PIG_HOME/bin

#source /root/.bashrc
#pig -help
pig-
version 【0.17.0】#hadoopバージョン【2.8.5】
#pig-xローカルセット実行モード
grunt>
grunt> quit exit

3実行の種類

3.1ローカルモード

グラントは豚の殻です。ローカルモードでは、Pigは単一のJVMで実行され、ローカルファイルシステムにアクセスします。このモードは、小規模なデータセットをテストまたは処理するために使用されます。
#pig -x local
grunt>
grunt> quit
たとえば、Linuxで/ etc / passwdファイルの最初の列を抽出して出力します。
#head -n 5 / etc / passwd

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

#pig -x local -brief

Connecting to hadoop file system at: file:///
[表示本地文件系统]

使用する

grunt> A = load '/etc/passwd' using PigStorage(':');注意空格不可少
grunt> B = foreach A generate $0 as id;注意空格不可少
grunt> dump B;注意空格不可少

3.2MapReduceモード

Hadoopをインストールせずにこのコマンドを実行すると、エラーが報告されます。
エラー4010:クラスパスにHadoop構成が見つかりません(クラスパスにhadoop-site.xmlもcore-site.xmlも見つかりませんでした)。ローカルモードを使用する場合は、コマンドラインに-xローカルオプションを入力してください。
Pigは、HADOOP_HOME環境変数に従って、対応するHadoopクライアントを見つけて実行します。
#cat /root/.bashrc

export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
export HADOOP_CLASSPATH=/usr/local/hadoop/share/hadoop/common/lib

#pig -brief

Connecting to hadoop file system at: hdfs://pda1:9000

(1)Hadoopクラスターを開始します
#start-dfs.sh
#start-yarn.sh
#mr-jobhistory-daemon.sh start historyserverこの行を実行する必要があることに注意してください
(2)ファイルをクラスターにアップロードします
#hdfs dfs -ls /
#hdfs dfs -put / etc / passwd /
(3)Pigシェルに入り、実行し、「:」で区切ってAを抽出し、Aの最初の列をBに入れ、Bをダンプします。
#pig -x mapreduce -brief
grunt> A = PigStorage( ':');を使用して '/ passwd'をロード;
grunt> B = foreachAはidとして$ 0を生成します;
grunt> dump B;
(4)クラスターを閉じます
#mr-jobhistory --daemon.sh stop historyserver
#stop-yarn.sh
#stop-dfs.sh

おすすめ

転載: blog.csdn.net/qq_20466211/article/details/112675623