この例では、Parquetデータを含む外部テーブルにクエリーを行なう方法を示します。
テーブル定義
次の文では、外部テーブルmaps_ctg_alltypes_01_tableを作成し、許可DefAuthを指定します。このテーブル定義では、各Parquet論理データ型に対応するTeradataデータ型を使用して列を定義します。列の定義は、Parquetファイル内のデータ形式と位置に一致する必要があります。Parquet外部テーブルは、列によってのみパーティション化できます。
DefAuth許可オブジェクトをまだ作成していない場合は作成します。例: 許可オブジェクトの作成を参照してください。
CREATE MULTISET FOREIGN TABLE maps_ctg_alltypes_01_table,FALLBACK
,EXTERNAL SECURITY DEFINER TRUSTED DefAuth
(
Location VARCHAR(2048) CHARACTER SET UNICODE CASESPECIFIC,
id_col BIGINT NOT NULL,
simple_boolean_col BYTEINT,
simple_int32_col INT,
decimal_int32_col DECIMAL(9,3),
date_int32_col DATE,
time_millis_int32_col TIME,
uint8_int32_col SMALLINT,
uint16_int32_col INTEGER,
int8_int32_col BYTEINT,
int16_int32_col SMALLINT,
uint32_int32_col BIGINT,
simple_int64_col BIGINT,
uint64_int64_col DECIMAL(20,0),
decimal_int64_col DECIMAL(18,4),
time_micros_int64_col TIME,
timestamp_millis_int64_col TIMESTAMP,
timestamp_micros_int64_col TIMESTAMP,
timestamp_int96_col TIMESTAMP,
simple_float_col FLOAT,
simple_double_col DOUBLE PRECISION,
utf8_bytearray_col VARCHAR(1024) CHARACTER SET UNICODE,
decimal_bytearray_col DECIMAL(32,6),
json_bytearray_col JSON(32000) INLINE LENGTH 32000 CHARACTER SET UNICODE,
bson_bytearray_col JSON(64000) INLINE LENGTH 64000 STORAGE FORMAT BSON,
enum_col VARCHAR(1024) CHARACTER SET UNICODE,
decimal_fl_bytearray_col DECIMAL(38,8),
interval_fl_bytearray_col VARCHAR(50) CHARACTER SET UNICODE,
uuid_col BYTE(16)
)
USING(
LOCATION ('external_file_path')
PATHPATTERN ('$Var1/$Var2/$var3/$Var4')
STOREDAS ('PARQUET')
MANIFEST ('FALSE')
)
NO PRIMARY INDEX
PARTITION BY COLUMN;
サンプルのクエリーと結果
次の文では、行数、最大値、最小値をtime_millis_int32_col列から取得します。
SELECT COUNT(time_millis_int32_col) AS count_col ,MAX(time_millis_int32_col) AS max_col ,MIN(time_millis_int32_col) AS min_col FROM maps_ctg_alltypes_01_table;
結果表示は、次のとおりです。
count_col max_col min_col ----------- --------------- --------------- 996 16:42:15.916000 16:34:24.938000