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