$PATH式を使用して、CREATE FOREIGN TABLE文のLOCATIONパラメータとPATHPATTERNパラメータで指定した外部データにアクセスできます。<Teradata Vantage™ - SQLデータ定義言語-構文規則および例、B035-1144>を参照してください。
PATHPATTERN変数は、外部テーブル定義内のLOCATIONのキー接頭部でのレベルに対応します。
デフォルトで、PATHPATTERNパラメータには、以下の値が含まれています。
$Var1/$Var2/$Var3/$Var4/$Var5/$Var6/$Var7/$Var8/$Var9/$Var10 /$Var11/$Var12/$Var13/$Var14/$Var15/$Var16/$Var17/$Var18/$Var19/$Var20
パス パターン、キー フィルタ、および$PATH式
例えば、PATHPATTERNは次のように指定されます。
$var1/$var2
次のテーブルでは、さまざまなキー接頭辞について、SELECTクエリー内の$PATH式の出力を一覧表示します。
キー接頭辞 | $PATH.$Var1 | $PATH.$Var2 | $PATH |
---|---|---|---|
mydata | mydata | ' ' | mydata |
mydata/logs/sensor | mydata | ログ | mydata/logs/sensor |
mydata/ | mydata | ' ' | mydata/ |
mydata// | mydata | ' ' | mydata// |
mydata//logs | mydata | ' ' | mydata//logs |
mydata/logs | mydata | ログ | mydata/logs |
NULL | ' ' | ' ' | ' ' |
指定した変数で構成されるPATHPATTERN
外部テーブル定義のPATHPATTERNオプションで、独自の変数を指定できます。
例えば、外部テーブルriverflowのLOCATIONパラメータ定義は次のようになります。
LOCATION ('/S3/td-usgs.s3.amazonaws.com/JSONDATA')
以下に、外部リポジトリ内のファイルのサンプル リストを示します。
Location -------------------------------------------------------------- /S3/td-usgs.s3.amazonaws.com/JSONDATA/09424900/2018/07/03.json /S3/td-usgs.s3.amazonaws.com/JSONDATA/09424900/2018/06/29.json /S3/td-usgs.s3.amazonaws.com/JSONDATA/09429070/2018/06/29.json /S3/td-usgs.s3.amazonaws.com/JSONDATA/09400815/2018/07/21.json /S3/td-usgs.s3.amazonaws.com/JSONDATA/09400568/2018/07/02.json /S3/td-usgs.s3.amazonaws.com/JSONDATA/09424900/2018/06/28.json /S3/td-usgs.s3.amazonaws.com/JSONDATA/09400815/2018/07/24.json /S3/td-usgs.s3.amazonaws.com/JSONDATA/09423560/2018/07/11.json /S3/td-usgs.s3.amazonaws.com/JSONDATA/09400815/2018/06/27.json /S3/td-usgs.s3.amazonaws.com/JSONDATA/09474000/2018/07/12.json /S3/td-usgs.s3.amazonaws.com/JSONDATA/09429070/2018/06/28.json /S3/td-usgs.s3.amazonaws.com/JSONDATA/09380000/2018/06/28.json /S3/td-usgs.s3.amazonaws.com/JSONDATA/09474000/2018/07/11.json /S3/td-usgs.s3.amazonaws.com/JSONDATA/09424900/2018/07/23.json /S3/td-usgs.s3.amazonaws.com/JSONDATA/09423560/2018/07/26.json
コネクタ、バケット、エンドポイント、およびキー接頭辞は次のようになります。
connector | バケット | endpoint | key_prefix |
---|---|---|---|
S3 | td-usgs | s3.amazonaws.com | JSONDATA/09423560/2018/07/26.json |
riverflowのPATHPATTERNパラメータは以下のように定義されます。
PATHPATTERN ('$data_format/$location/$year/$month/$day')
このPATHPATTERNは、以下に示すキー接頭辞のレベルに対応します。
- $PATH.$data_フォーマット ='JSONDATA'
- $PATH.$location ='09423560'
- $PATH.$year ='2018'
- $PATH.$month ='07'
- $PATH.$day ='26.json'
$PATH変数を使用して場所列から選択するサンプル クエリー
次の例のように、場所列で$PATH式を使用してクエリー結果をフィルタ処理できます。
SELECT DISTINCT location FROM riverflow WHERE $PATH.$month ='06';
以下に、出力結果のサンプルを示します。
Location -------------------------------------------------------------- /S3/td-usgs.s3.amazonaws.com/JSONDATA/09400815/2018/06/27.json /S3/td-usgs.s3.amazonaws.com/JSONDATA/09424900/2018/06/29.json /S3/td-usgs.s3.amazonaws.com/JSONDATA/09429070/2018/06/29.json /S3/td-usgs.s3.amazonaws.com/JSONDATA/09380000/2018/06/28.json /S3/td-usgs.s3.amazonaws.com/JSONDATA/09400568/2018/06/30.json /S3/td-usgs.s3.amazonaws.com/JSONDATA/09424900/2018/06/28.json /S3/td-usgs.s3.amazonaws.com/JSONDATA/09429070/2018/06/28.json /S3/td-usgs.s3.amazonaws.com/JSONDATA/09396100/2018/06/29.json /S3/td-usgs.s3.amazonaws.com/JSONDATA/09429070/2018/06/30.json /S3/td-usgs.s3.amazonaws.com/JSONDATA/09513780/2018/06/30.json /S3/td-usgs.s3.amazonaws.com/JSONDATA/09513780/2018/06/27.json /S3/td-usgs.s3.amazonaws.com/JSONDATA/09424900/2018/06/30.json
$PATH変数を使用してペイロード列から選択するサンプル クエリー
次の例のように、ペイロード列で$PATH式を使用してクエリー結果をフィルタ処理できます。
SELECT payload.Flow, payload.Precipitation, payload.Conductance, payload.datetime, payload.site_no, payload.Temp, payload.GageHeight FROM riverflow WHERE $PATH.$day ='27.json';
以下に、出力結果のサンプルを示します。
Payload.Flow Payload.Precipitation Payload.Conductance Payload.datetime Payload.site_no Payload.Temp Payload.GageHeight ------------ --------------------- ------------------- ---------------- --------------- ------------ ------------------ 0.00 0.00 NULL 2018-06-27 00:00 09400815 NULL -0.01 16200 0.00 669 2018-06-27 00:00 09380000 11.0 9.97 0.00 0.00 NULL 2018-06-27 00:00 09396100 NULL 0.49 0.00 0.00 NULL 2018-06-27 00:00 09513780 NULL -1.44 NULL 2018-06-27 00:07 09400815 NULL 16000 0.00 668 2018-06-27 00:15 09380000 10.9 9.93 0.00 0.00 NULL 2018-06-27 00:15 09396100 NULL 0.49 0.00 0.00 NULL 2018-06-27 00:15 09513780 NULL -1.44 0.00 0.00 NULL 2018-06-27 00:15 09400815 NULL -0.01 15700 0.00 668 2018-06-27 00:30 09380000 10.9 9.88 0.00 0.00 NULL 2018-06-27 00:30 09396100 NULL 0.48 0.00 0.00 NULL 2018-06-27 00:30 09513780 NULL -1.44 0.00 0.00 NULL 2018-06-27 00:30 09400815 NULL -0.01 15400 0.00 672 2018-06-27 00:45 09380000 10.8 9.82 0.00 0.00 NULL 2018-06-27 00:45 09396100 NULL 0.49 0.00 0.00 NULL 2018-06-27 00:45 09513780 NULL -1.44