ストアが非セキュアな場合のCountTableRows
の実行
付録「非セキュア・ストアのデプロイ」でデプロイしたような非セキュア・ストアに対してCountTableRows
を実行し、前の項で説明した方法でCountTableRows
をコンパイルおよびビルドした場合、CountTableRows
サンプル・プログラムによって開始されるMapReduceジョブは、Hadoopクラスタのアクセス・ノードのコマンドラインに次のように入力することでデプロイできます。
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:\
/opt/oracle/kv-ee/lib/kvclient.jar
cd /opt/oracle/nosqlapps/kv
hadoop jar examples/CountTableRows.jar \
hadoop.table.CountTableRows \
-libjars \
/opt/oracle/kv-ee/lib/kvclient.jar,\
/opt/oracle/kv-ee/lib/sklogger.jar,\
/opt/oracle/kv-ee/lib/commonutil.jar,\
/opt/oracle/kv-ee/lib/failureaccess.jar,\
/opt/oracle/kv-ee/lib/antlr4-runtime-nosql-shaded.jar,\
/opt/oracle/kv-ee/lib/jackson-core.jar,\
/opt/oracle/kv-ee/lib/jackson-databind.jar,\
/opt/oracle/kv-ee/lib/jackson-annotations.jar,\
example-store \
kv-host-1:5000 \
vehicleTable \
/user/example-user/CountTableRows/vehicleTable/<000N>
Hadoopコマンド・インタプリタの-libjars
引数は、クラスタのDataNodesで実行される各MapReduceタスクのクラスパスにサード・パーティのライブラリkvclient.jar
、sklogger.jar
、commonutil.jar
、failureaccess.jar
、antlr4-runtime-nosql-shaded.jar
、jackson-core.jar
、jackson-databind.jar
およびjackson-annotations.jar
を含めるために使用します。これは、そうしたタスクがTableInputSplit
やTableRecordReader
などのクラスと、Hadoopプラットフォームでは使用できない各種のサポート・クラスにアクセスできるようにするために必要です。
値example-storeでは、デプロイしたストアの名前を指定しています。そのストアへの接続時に使用するホスト名とポートは、値kv-host-1:5000
で指定しています。値vehicleTableでは、MapReduceジョブでカウントする行がある表の名前を指定しています。また、パス文字列を含む最後の引数は、vehicleTable
の行数の最終値を書き込む先のHadoop HDFSファイルシステム内の場所を指定します。
注意:
最後の引数への入力のパス値example-user要素は、ベース・パスが/user
のHDFSの最上位ディレクトリ内のディレクトリに対応します。通常は、MapReduceジョブを開始したユーザーに対応します。通常、このディレクトリは、Hadoopクラスタ管理者がHDFSに作成します。また、パスの末尾にある<000N>
トークンは、0000、0001、0002のような文字列を表します。このトークンには任意の文字列を使用できますが、ジョブの実行ごとに異なる番号「N」を使用すると、複数回ジョブを実行したときの結果の追跡が簡単になります。