rmvTableへのHive外部表のマッピング: 非セキュア・ストア
非セキュア・ストアをデプロイするための最初のステップを実行し、そのストアにrmvTable
という名前の表を作成してデータを移入し、Oracle NoSQL Databaseと相互作用するようにHiveクライアント環境を構成したと仮定すると、次のHiveコマンドを実行することで、そのOracle NoSQL Database表にマップする外部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");
前述のコマンドは、必要なデータ・モデル・マッピングを適用して、oracle.kv.tableName
プロパティを介して指定されたOracle NoSQL Database表の対応するフィールドと型が一致する列を持つrmvTable
という名前のHive表を作成します。
必須ではありませんが、作成されるHive表には、ストアでマップされる表と同じ名前が付きます。