例: Parquetデータにアクセスする外部テーブルの作成 - 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

この例では、Parquetデータにアクセスするための外部テーブルの作成方法を示します。テーブル定義には、河川流量のParquetファイルを含むリモート リポジトリにアクセスするための許可オブジェクトが含まれます。

CREATE AUTHORIZATION文

CREATE AUTHORIZATION MyAuthObj
USER 'YOUR-ACCESS-KEY-ID' 
PASSWORD 'YOUR-SECRET-ACCESS-KEY';

Parquetデータ スキーマ

message schema {
optional double GageHeight2;
optional double Flow;
optional int64 site_no;
optional binary datetime (UTF8);
optional double Precipitation;
optional double GageHeight;
}

CREATE FOREIGN TABLE文

次の文では、外部テーブルを作成し、許可MyAuthObjを指定します。このテーブル定義では、河川流量データにおける各Parquet論理データ型の対応するTeradataデータ型を使用して列を定義します。列の定義は、Parquetファイル内のデータ形式と位置に一致する必要があります。Parquet外部テーブルは、列でパーティション化されます。

CREATE FOREIGN TABLE riverflow_parquet
, EXTERNAL SECURITY MyAuthObj
(
Location VARCHAR(2048) CHARACTER SET UNICODE CASESPECIFIC
, GageHeight2 DOUBLE PRECISION
, Flow DOUBLE PRECISION
, site_no BIGINT
, datetime VARCHAR(16) CHARACTER SET UNICODE CASESPECIFIC
, Precipitation DOUBLE PRECISION
, GageHeight DOUBLE PRECISION
)
USING (
LOCATION ('/S3/YOUR-BUCKET.s3.amazonaws.com/PARQUETDATA')
STOREDAS ('PARQUET')
) NO PRIMARY INDEX
PARTITION BY COLUMN ;

外部テーブルからデータを選択

次の文では、行数、最大値、最小値をriverflow_parquetから取得します。

SELECT COUNT(Flow) AS count_col
, MAX(Flow) ( FORMAT '-ZZZZ9.99') AS max_col
, MIN(Flow) ( FORMAT '-ZZZZ9.99') AS min_col
FROM riverflow_parquet;
   count_col    max_col    min_col
-----------  ---------  ---------
      15406    1570.00       0.00