この例では、CREATE TABLE AS ... WITH NO DATAを使用して、データなしで外部テーブルのコピーを作成します。コピーには元の外部テーブルと同じオプションがあり、同じ外部データにアクセスします。
元の外部テーブルのCREATE FOREIGN TABLE文
次の文は、外部テーブルriverflow_0627を作成します。VantageはJSONデータ型を検出し、JSONペイロード列を作成します。
CREATE FOREIGN TABLE riverflow_0627,
EXTERNAL SECURITY MyAuthObj
USING (
LOCATION ('/S3/YOUR-BUCKET.s3.amazonaws.com/JSONDATA/09380000/2018/06/27.json')
);
コピーのためのCREATE TABLE AS ... WITH NO DATA文
CREATE TABLE rivercopy_0627_t AS riverflow_0627 WITH NO DATA;
コピーの定義
テーブルの定義を表示します。
SHOW TABLE myDB.rivercopy_0627_t;
結果:
CREATE MULTISET FOREIGN TABLE myDB.rivercopy_0627_t ,FALLBACK ,
EXTERNAL SECURITY MyAuthObj ,
MAP = TD_MAP1
(
Location VARCHAR(2048) CHARACTER SET UNICODE CASESPECIFIC,
Payload JSON(8388096) INLINE LENGTH 32000 CHARACTER SET UNICODE)
USING
(
LOCATION ('/S3/YOUR-BUCKET.s3.amazonaws.com/JSONDATA/09380000/2018/06/27.json')
PATHPATTERN ('$Var1/$Var2/$Var3/$Var4/$Var5/$Var6/$Var7/$Var8/$Var9/$Var10/$Var11/$Var12/$Var13/$Var14/$Var15/$Var16/$Var17/$Var18/$Var19/$Var20')
ROWFORMAT ('{"record_delimiter":"\n","character_set":"UTF8"}')
STOREDAS ('TEXTFILE')
)
NO PRIMARY INDEX ;