非セキュア・ストアでのOracle NoSQL Database表へのHive表のマッピング

付録「非セキュア・ストアのデプロイ」に説明されている方法でOracle NoSQL Database非セキュア・ストアをデプロイした場合は、Hiveクライアントとして使用できるBig Data SQLシステムのいずれかのノードにログインします。次に、Hiveコマンドライン・インタフェースから次のコマンドを実行して、付録「CountTableRowsのサポート・プログラム」で説明されているvehicleTableにHive外部表をマップします。ここでは、読みやすさを考慮して改行が挿入されています。

CREATE EXTERNAL TABLE IF NOT EXISTS vehicleTable
    (type STRING, make STRING, model STRING, class STRING, color STRING, 
        price DOUBLE, count INT, dealerid DECIMAL, delivered TIMESTAMP)
    STORED BY 'oracle.kv.hadoop.hive.table.TableStorageHandler'
    TBLPROPERTIES (
        "oracle.kv.kvstore" = "example-store", 
        "oracle.kv.hosts"= "kv-host-1:5000,kv-host-2:5000,kv-host-3:5000", 
        "oracle.kv.tableName" = "vehicleTable",
        "oracle.kv.hadoop.hosts" = "dn-host-1,dn-host-2,dn-host-3");

同様に、次のコマンドを実行して付録「rmvTableの作成および移入」で説明されているrmvTableにHive外部表をマップします。

CREATE EXTERNAL TABLE IF NOT EXISTS rmvTable
    (zipcode STRING, lastname STRING, firstname STRING, ssn BIGINT, 
        gender STRING, license BINARY, phoneinfo MAP<STRING, STRING>,
        address STRUCT<number:INT street:STRING, 
            unit:INT, city:STRING, zip:INT>,
        VEHICLEINFO ARRAY<STRUCT<type:STRING, make:STRING,
            model:STRING, class:STRING, color:STRING,
            value:FLOAT, tax:DOUBLE, paid:BOOLEAN>>)
    COMMENT 'Hive mapped to NoSQL table: rmvTable'
    STORED BY 'oracle.kv.hadoop.hive.table.TableStorageHandler'
    TBLPROPERTIES (
        "oracle.kv.kvstore" = "example-store", 
        "oracle.kv.hosts"= "kv-host-1:5000,kv-host-2:5000,kv-host-3:5000", 
        "oracle.kv.tableName" = "rmvTable",
        "oracle.kv.hadoop.hosts" = "dn-host-1,dn-host-2,dn-host-3");

最後に、次のコマンドを実行して付録「exampleJsonTableの作成および移入」で説明されているexampleJsonTableにHive外部表をマップします。

CREATE EXTERNAL TABLE IF NOT EXISTS exampleJsonTable
    (id INT, jsonfield STRING)
    COMMENT 'Hive mapped to NoSQL table: exampleJsonTable'
    STORED BY 'oracle.kv.hadoop.hive.table.TableStorageHandler'
    TBLPROPERTIES (
        "oracle.kv.kvstore" = "example-store", 
        "oracle.kv.hosts"= "kv-host-1:5000,kv-host-2:5000,kv-host-3:5000", 
        "oracle.kv.tableName" = "exampleJsonTable", 
        "oracle.kv.hadoop.hosts" = "dn-host-1,dn-host-2,dn-host-3");