ストアが非セキュアな場合の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.jarsklogger.jarcommonutil.jarfailureaccess.jarantlr4-runtime-nosql-shaded.jarjackson-core.jarjackson-databind.jarおよびjackson-annotations.jarを含めるために使用します。これは、そうしたタスクがTableInputSplitTableRecordReaderなどのクラスと、Hadoopプラットフォームでは使用できない各種のサポート・クラスにアクセスできるようにするために必要です。

値example-storeでは、デプロイしたストアの名前を指定しています。そのストアへの接続時に使用するホスト名とポートは、値kv-host-1:5000で指定しています。値vehicleTableでは、MapReduceジョブでカウントする行がある表の名前を指定しています。また、パス文字列を含む最後の引数は、vehicleTableの行数の最終値を書き込む先のHadoop HDFSファイルシステム内の場所を指定します。

注意:

最後の引数への入力のパス値example-user要素は、ベース・パスが/userのHDFSの最上位ディレクトリ内のディレクトリに対応します。通常は、MapReduceジョブを開始したユーザーに対応します。通常、このディレクトリは、Hadoopクラスタ管理者がHDFSに作成します。また、パスの末尾にある<000N>トークンは、0000、0001、0002のような文字列を表します。このトークンには任意の文字列を使用できますが、ジョブの実行ごとに異なる番号「N」を使用すると、複数回ジョブを実行したときの結果の追跡が簡単になります。