| --! qt:dataset:src |
| set hive.support.concurrency=true; |
| set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; |
| set hive.mapred.mode=nonstrict; |
| |
| -- SORT_QUERY_RESULTS |
| |
| -- init |
| drop table IF EXISTS encryptedTable PURGE; |
| drop table IF EXISTS unencryptedTable PURGE; |
| |
| create table encryptedTable(key string, |
| value string) partitioned by (ds string) clustered by (key) into 2 buckets stored as orc |
| LOCATION '${hiveconf:hive.metastore.warehouse.dir}/encryptedTable' TBLPROPERTIES ('transactional'='true'); |
| CRYPTO CREATE_KEY --keyName key_1 --bitLength 128; |
| CRYPTO CREATE_ZONE --keyName key_1 --path ${hiveconf:hive.metastore.warehouse.dir}/encryptedTable; |
| |
| create table unencryptedTable(key string, |
| value string) partitioned by (ds string) clustered by (key) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='true'); |
| |
| -- insert encrypted table from values |
| insert into table encryptedTable partition |
| (ds='today') values |
| ('501', 'val_501'), |
| ('502', 'val_502'); |
| |
| select * from encryptedTable order by key; |
| |
| -- insert encrypted table from unencrypted source |
| insert into table encryptedTable partition (ds='yesterday') |
| select * from src where key in ('238', '86'); |
| |
| select * from encryptedTable order by key; |
| |
| -- insert unencrypted table from encrypted source |
| insert into table unencryptedTable partition (ds='today') |
| select key, value from encryptedTable where ds='today'; |
| |
| insert into table unencryptedTable partition (ds='yesterday') |
| select key, value from encryptedTable where ds='yesterday'; |
| |
| select * from unencryptedTable order by key; |
| |
| -- clean up |
| drop table encryptedTable PURGE; |
| CRYPTO DELETE_KEY --keyName key_1; |
| drop table unencryptedTable PURGE; |