Oracle NoSQL Databaseを問い合せるためのOracle Big Data SQLの構成
Oracle Big Data SQLを使用してOracle NoSQL Database表のデータを問い合せるには、Oracle NoSQL Databaseによって提供されるHive統合クラスおよびその他のサード・パーティがサポートするクラスを、Oracle Big Data SQLによって起動されるJava VMで使用可能にする必要があります。そのためには、Oracle NoSQL DatabaseのEnterprise Editionで提供される次の各JARファイルを含めるようにjava.classpath.oracle
システム・プロパティの値を設定します。
kvclient.jar
kvstore-ee.jar
jackson-core.jar
jackson-databind.jar
jackson-annotations.jar
Oracle Big Data SQLシステムでは、java.classpath.oracle
システム・プロパティの値は、bigdata.properties
という名前の構成ファイルに設定されます。このファイルは、次の形式のディレクトリにあります。
/opt/oracle/product/18c/dbhome_1/bigdatasql/databases/ORCLCDB/bigdata_config
サブディレクトリORCLCDB
は、ここで示した例が開発されたOracle Big Data SQLシステムにデプロイされたOracle 18c Databaseのインスタンス名です。場合によっては、特定の環境のパス・コンポーネントの一部を調整する必要があります。
bigdata.properties
ファイルの内容を調べると、次のようなエントリが表示されます。
java.classpath.oracle=\
/opt/oracle/product/18c/dbhome_1/bigdatasql/jlib/*:\
/opt/oracle/product/18c/dbhome_1/jlib/orai18n.jar
bigdata.properties
構成ファイルの前述のエントリを変更することで、必要なOracle NoSQL Databaseライブラリをjava.classpath.oracle
システム・プロパティに明示的に追加できますが、これらのライブラリはディレクトリ/opt/oracle/product/18c/dbhome_1/bigdatasql/jlib
にコピーすることをお薦めします。
cd /opt/oracle/product/18c/dbhome_1/bigdatasql/jlib
cp /opt/oracle/kv-ee/lib/kvclient.jar kvclient.jar
cp /opt/oracle/kv-ee/lib/kvstore-ee.jar kvstore-ee.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をBig Data SQL問合せメカニズムと統合するには、システムのbigdatasql/jlib
ディレクトリにあるライブラリにリンクするのではなく、Oracle NoSQL Databaseに付属のライブラリをコピーすることが重要です。これらのライブラリをコピーすることで、システムのクラスパスに含まれているサード・パーティ・ライブラリの古いバージョンに起因して発生する可能性のあるClassLoader
競合エラーが防止されます。
Oracle NoSQL Databaseのデータに対してBig Data SQL問合せを実行するには、前述の方法でライブラリをコピーする必要があります。ただし、Big Data SQLシステムのいずれかのデータベース・ノードからもHive問合せを実行する場合は、Oracle NoSQL Databaseライブラリを/opt/oracle/product/18c/dbhome_1/bigdatasql/jlib
にコピーすることに加えて、Hive問合せが実行されるデータベース・ノードの次のディレクトリにも同じライブラリをコピーする必要があります。
/opt/oracle/bigdatasql/bdcell-12.1/jlib-bds
and
/opt/oracle/bigdatasql/bdcell-12.2/jlib-bds