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