学習ツールとして使用するために、Vista オペレーティング システムを実行している Windows PC に Apache Pig をインストールして動作させようとしています。このマシンで Pig を使用して深刻なデータ処理を行うつもりはありません。-x local
私が望んでいるのは、単一ノード、単一の JVMセットアップです。
私は Windows のバックグラウンドを持っているので、UNIX は私にとって大きな学習曲線ですが、オンラインの Apache Pig ドキュメントGetting Startedのアドバイスに従って、 cygwin をインストールしましたが、問題なく動作しているようです。Getting Startedで説明されているように、cygwin のダウンロードとインストールに Perl パッケージを含めましたが、これも問題なく動作しているようです。/bin ディレクトリには perl.exe が含まれており、すべての Perl ドキュメントにアクセスできます。
次に、pig-0.11.1 をダウンロードし、解凍して、Bash リファレンス マニュアルを調べて、pig シェル スクリプトをtar -xzvf pig-0.11.1.tar.gz
実行しようとしたときに発生したエラーを使用して、数日 (ほとんど楽しい) を過ごしました。pig -x local
. cygpath
pig.jar が検出され、java.exe に渡された引数がcygpath
java.exe が理解できる形式に変換されたままになるように、このスクリプトでcygwin ユーティリティへの呼び出しを調整すると、うなり声のプロンプトが表示されます。しかし、私の喜びは短命でした。
実際、pig-0.7.0 をダウンロードし、インストールしてすぐに使用でき、pig -x local
RELEASE_NOTES.txt で説明されているように、pig シェル スクリプトをまったく改ざんすることなく、同じうなり声のプロンプトが表示されます。しかし、残念なことに、それはpig-0.11.1 で得たのと同じうなり声のプロンプトです: 矢印キーがカーソルをプロンプト全体に、実際には画面全体に、以前に与えられたコマンドの上に移動できる、好奇心旺盛な疑似うなり声のプロンプトです。ドル プロンプトも表示され、リターン キー (前に ;) があると、カーソルが新しい行にジャンプするだけです。テキストを書くことはできますが、入力することはできず、^c と ^\ だけが機能しているようです。
私の pig-0.7.0 ディレクトリから、次のように入力
bin/pig -help
すると適切な情報が表示されます。Apache Pig version 0.7.0 (r941408)<br /> compiled May 05 2010, 11:15:55<br /> USAGE: Pig [options] [-] : Run interactively in grunt shell.</br > Pig [options] -e[xecute] cmd [cmd ...] : Run cmd(s).<br /> Pig [options] [-f[ile]] file : Run cmds found in file. options include: ... *etc etc*<br />
pig-0.7.0 ディレクトリから入力
bin/pig -x local
すると、次の応答が返されます。13/04/18 10:37:51 INFO pig.Main: Logging error messages to: C:\cygwin\home\Richard\pig_installation\pig-0.7.0\pig_1366277871311.log<br /> 2013-04-18 10:37:51,540 [main] INFO org.apache.pig.backend.hadoop.executionengine.HExecutionEngine - Connecting to hadoop file system at: file:///<br />
どのディレクトリからでも、PATH を pig-0.11.1/bin ディレクトリに設定しているので、入力
pig -x local
すると次の応答が返されます。which: no hadoop in (usr/local/bin:/cygdrive/c/Program Files ... *etc etc* .. )<br /> 2013-04-18 10:48:59,946 [main] INFO org.apache.pig.Main - Apache Pig version 0.11.1 (r1459641) compiled Mar 22 2013, 02:13:53<br /> 2013-04-18 10:48:59,946 [main] INFO org.apache.pig.Main - Logging error messages to: C:\cygwin\home\Richard\pig_installation\pig-0.7.0\pig_1366278539943.log<br /> 2013-04-18 10:48:59,965 [main] INFO org.apache.pig.impl.util.Utils - Default bootup file C:\Users\Richard/.pigbootup not found<br /> 2013-04-18 10:49:01,404 [main] INFO org.apache.pig.backend.hadoop.executionengine.HExecutionEngine - Connecting to hadoop file system at: file:///<br />
これは致命的なエラーですか、それともトリックを見逃しているだけですか? pig-0.11.1 の pig シェル スクリプトは、hadoop が見つからない場合、代わりに pig.jar または pig-?.!(*withouthadoop).jar (例: pig-0.11.1.jar) を使用することを暗示しているようです。ドキュメントには、cygwin を使用した Windows 上の pig がサポートされていることが示されています (ただし、サポートされて-x local
いません-x mapreduce
)。この擬似うなり声は完全な蜃気楼ですか、それとも部分的な成功を示していますか?
- 上記の追記: Apache の Pig ドキュメントGetting Startedのセクション Pig チュートリアルに従い、環境変数を設定し、指示に従って pig-0.7.0/tutorial/build.xml ファイルを編集し、
ant
コマンドを実行し、pigtutorial を作成しました.tar.gz ファイルを移動し、解凍し、pig スクリプト 1 を見つけて実行するpig -x local script1-local.pig
と、うまくいきました! 出力ファイル (part-r-00000) には警告がまったく含まれておらず、予想どおり 5 列のレコードしか含まれていません。ただし、インタラクティブ モードを取得しようとするとpig -x local
、同じ疑似 grunt> プロンプトが表示されます。