17.05 - 例: CSVデータを含む外部テーブルでのキーの表示 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ操作言語

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
Release Date
2021年1月
Content Type
プログラミング リファレンス
Publication ID
B035-1146-175K-JPN
Language
日本語 (日本)

この例では、DATASET_KEYS関数を使用して、外部テーブルのCSVデータ内のキーを表示する方法を示します。

テーブル定義

以下の文では、DATASETデータ型とCSVのストレージ形式を持つペイロード列を含む外部テーブルを定義します。LOCATIONパラメータは、Amazon S3に保存されるCSVファイルを指定します。

DefAuth許可オブジェクトをまだ作成していない場合は作成します。例: 許可オブジェクトの作成を参照してください。

CREATE FOREIGN TABLE riverflow_csv,
EXTERNAL SECURITY DEFINER TRUSTED DefAuth
(
LOCATION VARCHAR(2048) CHARACTER SET UNICODE CASESPECIFIC,
PAYLOAD DATASET INLINE LENGTH 64000 STORAGE FORMAT CSV
)
USING
(
     LOCATION ('/s3/td-usgs.s3.amazonaws.com/CSVDATA/')
);

ファイル内のキーのクエリー

以下のSELECT文では、DATASET_KEYS関数を使用して、外部テーブル内の.CSVデータのレコード内のキーを表示します。

SELECT * FROM DATASET_KEYS
(
ON (SELECT payload FROM riverflow_csv)
) AS csvKeys GROUP BY 1 ORDER BY 1;

結果表示は、次のとおりです。

DatasetKeys
----------------------
BatteryVoltage
Conductance
Flow
GageHeight
GageHeight2
Precipitation
Temp
Velocity
WaterVelocity
datetime
site_no

サンプルのクエリーと結果

このクエリーは、外部テーブルの特定の列を表示します。

SELECT payload..Flow, payload..Precipitation, payload..Conductance,
payload..datetime, payload..site_no, payload..Temp, payload..GageHeight
FROM riverflow_csv
AS derived_table WHERE payload..Temp>11.0 AND payload..GageHeight>10.00 ORDER
BY payload..datetime;

結果表示は、次のとおりです。

        PAYLOAD..Flow 16400
PAYLOAD..Precipitation 0.00
  PAYLOAD..Conductance 668
     PAYLOAD..datetime 2018-06-27 14:15
      PAYLOAD..site_no 09380000
         PAYLOAD..Temp 11.8
   PAYLOAD..GageHeight 10.01
         PAYLOAD..Flow 16400
PAYLOAD..Precipitation 0.00
  PAYLOAD..Conductance 670
     PAYLOAD..datetime 2018-06-27 14:30
      PAYLOAD..site_no 09380000
         PAYLOAD..Temp 11.8
   PAYLOAD..GageHeight 10.01
         PAYLOAD..Flow 16600
PAYLOAD..Precipitation 0.00
  PAYLOAD..Conductance 665
     PAYLOAD..datetime 2018-06-27 14:45
      PAYLOAD..site_no 09380000
         PAYLOAD..Temp 11.9
   PAYLOAD..GageHeight 10.04
読みやすいように、出力は縦に表示されます。