Hive補助ディレクトリへのOracle NoSQL Databaseライブラリのコピー
Apache Hiveの一部のインストールには、サード・パーティのライブラリを追加できる特別なディレクトリが用意されているため、環境変数HIVE_AUX_JARS_PATH
を直接変更する必要はありません。このようなインストールでは、特別なディレクトリにあるJARファイルでHIVE_AUX_JARS_PATH
の値を自動的に更新する機能が採用されています。
たとえば、システムがOracle Big Data Appliance (BDA)またはOracle Big Data SQLシステムの場合、ClouderaによってリリースされたHiveは、パッケージまたはパーセル(rpm/deb
パッケージの代替としてClouderaが提供するバイナリ・ディストリビューション形式)としてインストールされます。システムのHiveインストールがパーセル・ベースと仮定した場合は、次のようなディレクトリが表示されます。
/opt/cloudera/parcels/CDH/lib/hive/auxlib
このようなインストールでは、Hive CLIが起動されるたびに、前述のディレクトリにあるすべてのJARファイルが環境変数HIVE_AUX_JARS_PATH
の値に自動的に追加されます。
したがって、必要なOracle NoSQL Database JARファイルをHiveクラスパスで使用できるようにするには、Hiveインストールで提供される補助ライブラリに必要なライブラリをコピーします。たとえば、Hiveインストールで前述のようなhive/auxlib
ディレクトリが提供されている場合は、次のようにします。
cd /opt/cloudera/parcels/CDH/lib/hive/auxlib
cp /opt/oracle/kv-ee/lib/kvclient.jar kvclient.jar
cp /opt/oracle/kv-ee/lib/commonutil.jar commonutil.jar
cp /opt/oracle/kv-ee/lib/sklogger.jar sklogger.jar
cp /opt/oracle/kv-ee/lib/failureaccess.jar \
failureaccess.jar
cp /opt/oracle/kv-ee/lib/oraclepki.jar oraclepki.jar
cp /opt/oracle/kv-ee/lib/osdt_cert.jar osdt_cert.jar
cp /opt/oracle/kv-ee/lib/osdt_core.jar osdt_core.jar
cp /opt/oracle/kv-ee/lib/antlr4-runtime-nosql-shaded.jar \
antlr4-runtime-nosql-shaded.jar
cp /opt/oracle/kv-ee/lib/jackson-core.jar jackson-core.jar
cp /opt/oracle/kv-ee/lib/jackson-databind.jar \
jackson-databind.jar
cp /opt/oracle/kv-ee/lib/jackson-annotations.jar \
jackson-annotations.jar
Oracle NoSQL DatabaseをHiveと統合するには、システムのhive/auxlib
ディレクトリ内のライブラリにリンクするのではなく、Oracle NoSQL Databaseに付属のライブラリをコピーすることが重要です。これらのライブラリをコピーすることで、システムのHadoopおよびHiveディストリビューションに含まれているサード・パーティ・ライブラリの古いバージョンに起因して発生する可能性のあるClassLoader
競合エラーが防止されます。