例: Parquetデータにアクセスする外部テーブルの作成 - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
Published
2021年1月
ft:locale
ja-JP
ft:lastEdition
2021-03-30
dita:mapPath
ja-JP/ncd1596241368722.ditamap
dita:ditavalPath
ja-JP/ncd1596241368722.ditaval
dita:id
B035-1144
Product Category
Software
Teradata Vantage

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

次の文では、信頼済み定義者の信頼証明を使用して、DefAuth_S3という許可オブジェクトを作成します。

CREATE AUTHORIZATION DefAuth_S3
AS DEFINER TRUSTED 
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;
}

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

CREATE FOREIGN TABLE riverflow_parquet
, EXTERNAL SECURITY DEFINER TRUSTED DefAuth_S3
(
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/td-usgs.s3.amazonaws.com/PARQUETDATA')
STOREDAS ('PARQUET')
) NO PRIMARY INDEX
PARTITION BY COLUMN ;

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

SEL 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