非セキュア・ストアのHive表へのOracle RDBMS表のマッピング
Oracle Database外部表を作成し、Oracle NoSQL Database vehicleTable
に最初にマップされたHive外部表にマップするには、sqlplusプロンプトから次のようなコマンドを実行します。
CREATE TABLE IF NOT EXISTS vehicleTable
(type VARCHAR2(10), make VARCHAR2(12), model VARCHAR2(20),
class VARCHAR2(40), color VARCHAR2(20), price NUMBER(8,2),
count NUMBER, dealerid NUMBER, delivered TIMESTAMP)
ORGANIZATION EXTERNAL (TYPE ORACLE_HIVE
DEFAULT DIRECTORY DEFAULT_DIR
ACCESS PARAMETERS (com.oracle.bigdata.log.qc=query.log))
REJECT LIMIT UNLIMITED;
同様に、Oracle NoSQL Database rmvTable
に最初にマップされたHive外部表にOracle Database外部表をマップするには、次のコマンドを実行します。
CREATE TABLE IF NOT EXISTS rmvTable
(zipcode VARCHAR2(7), lastname VARCHAR2(20), firstname VARCHAR2(20),
ssn NUMBER, gender VARCHAR2(6), license VARCHAR2(9),
phoneinfo VARCHAR2(67), address VARCHAR2(100),
vehicleinfo VARCHAR2(1000))
ORGANIZATION EXTERNAL (TYPE ORACLE_HIVE
DEFAULT DIRECTORY DEFAULT_DIR
ACCESS PARAMETERS (com.oracle.bigdata.log.qc=query.log))
REJECT LIMIT UNLIMITED;
最後に、Oracle NoSQL Database exampleJsonTable
に最初にマップされたHive外部表にOracle Database外部表をマップするには、次のコマンドを実行します。
CREATE TABLE IF NOT EXISTS exampleJsonTable
(id INT, jsonfield VARCHAR2(2000))
ORGANIZATION EXTERNAL (TYPE ORACLE_HIVE
DEFAULT DIRECTORY DEFAULT_DIR
ACCESS PARAMETERS (com.oracle.bigdata.log.qc=query.log))
REJECT LIMIT UNLIMITED;
Oracle Database外部表に指定する名前をマップ先のHive外部表の名前と異なる名前にする場合は、com.oracle.bigdata.tablename
プロパティを使用して、コマンドのACCESS PARAMETERS
でHive外部表の名前を指定する必要があります。それ以外の場合、Oracle外部表の名前はデフォルトでHive表の名前になります。次に例を示します。
CREATE TABLE IF NOT EXISTS oracleVehicleTable
(type VARCHAR2(10), make VARCHAR2(12), model VARCHAR2(20),
class VARCHAR2(40), color VARCHAR2(20), price NUMBER(8,2),
count NUMBER, dealerid NUMBER, delivered TIMESTAMP)
ORGANIZATION EXTERNAL (TYPE ORACLE_HIVE
DEFAULT DIRECTORY DEFAULT_DIR
ACCESS PARAMETERS (com.oracle.bigdata.log.qc=query.log
com.oracle.bigdata.tablename=vehicleTable))
REJECT LIMIT UNLIMITED;
Oracle Big Data SQL 4ユーザーズ・ガイドには、ORACLE_HIVE
アクセス・ドライバに指定できる様々なACCESS PARAMETERS
の情報があります。