例: データなしで外部テーブルのコピー - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 構文規則および例

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/spp1591731285373.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
B035-1144
Product Category
Software
Teradata Vantage

この例では、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 ;