S-JIS[2011-09-14] 変更履歴

Pigスクリプト

Pigのスクリプトのメモ。


概要

Pigでは、Pig Latinを書いたファイルをスクリプトとして実行できる。

$ pig スクリプトファイル

パラメーター

スクリプトを実行する際、スクリプトファイルの中で変数(パラメーター)を使うことが出来る。
(これはpigの対話モードでは使えない)

/* PigスクリプトによるWordCount */
%declare DIR '/cygwin/tmp'
%declare SRC 'hello.txt'
%declare DST 'pig/wc/output'

rm $DIR/$DST

a = load '$DIR/$SRC' as (text:chararray);
b = foreach a generate flatten(TOKENIZE(text)) as word;
c = group b by word;
d = foreach c generate group as word, COUNT(b) as count;
store d into '$DIR/$DST';
$ pig -x local スクリプトファイル

パラメーターは、スクリプトの外から指定することが出来る。

/* PigスクリプトによるWordCount */
%declare DST 'pig/wc/output'

rm $DIR/$DST

a = load '$DIR/$SRC' as (text:chararray);
b = foreach a generate flatten(TOKENIZE(text)) as word;
c = group b by word;
d = foreach c generate group as word, COUNT(b) as count;
store d into '$DIR/$DST';
$ pig -x local -param DIR=/cygwin/tmp -param SRC=hello.txt スクリプトファイル

パラメーターを記述したファイルを用意することも出来る。

#パラメーター
DIR=/cygwin/tmp
SRC=hello.txt
$ pig -x local -param_file パラメーターファイル スクリプトファイル

パラメーターが外部から与えられなかったときのデフォルト値を指定することも出来る。

/* PigスクリプトによるWordCount */
%default DIR '/cygwin/tmp'
%default SRC 'hello3.txt'
%default DST 'pig/wc/output'

rm $DIR/$DST

a = load '$DIR/$SRC' as (text:chararray);
b = foreach a generate flatten(TOKENIZE(text)) as word;
c = group b by word;
d = foreach c generate group as word, COUNT(b) as count;
store d into '$DIR/$DST';
$ pig -x local -param SRC=hello.txt スクリプトファイル

Pig目次へ戻る / 技術メモへ戻る
メールの送信先:ひしだま