すべての外部テーブルには、PATHPATTERN('$Var1/$Var2/$Var3/$Var4/$Var5/$Var6/$Var7/$Var8/$Var9/$Var10/$Var11')などの汎用のPATHPATTERNがあります。
クエリーでパス フィルタリングを簡単に設定するには、外部テーブルを作成するときに、意味のある名前を付けてPATHPATTERNを明示的に指定します。例えば、河川流量の例で選択したパス名と一致させるには、('$data/$siteno/$year/$month/$day')を使用します。PATHPATTERNは、すべてのオブジェクトを戻す代わりに、結果を制限するのに役立ちます。
例では、サンプルの河川流量データ セットを使用します。独自のデータを使用するには、テーブル名、列名、および許可オブジェクトを置き換えます。サンプル データ セットの信頼証明および格納場所の値については、例の変数置換を参照してください。
- NOS関連コマンドを実行するには、必要な権限を持つユーザーとしてデータベースにログオンします。
- 存在しない場合はriverflow_csv_pathfilterという外部テーブルを作成するか、その外部テーブルを作成するようにデータベース管理者に依頼します。データ セット内の列を使用したフィルタリングを参照してください。
- パス フィルタリングを使用して検索結果を絞り込みます。特定の日付のサイト番号のデータを表示するには、パス属性を問合わせます。
SELECT TOP 2 * FROM riverflow_csv_pathfilter WHERE $PATH.$year = 2018 AND $PATH.$month = 07 AND $PATH.$day = '01.csv' AND $PATH.$siteno = 09380000;
$PATH.$day変数は、パス セグメント名( siteno / year / month / day)内の実際のオブジェクトを表します。そのため、例に示すように、名前の一部としてファイル拡張子を持つことがよくあります。
結果は次のようになります。
Location /S3/s3.amazonaws.com/td-usgs-public/CSVDATA/09380000/2018/07/01.csv Temp 11.6 Flow 10000 site_no 9380000 datetime 2018-07-01 00:15 Conductance 666 Precipitation .00 GageHeight 8.65 Location /S3/s3.amazonaws.com/td-usgs-public/CSVDATA/09380000/2018/07/01.csv Temp 11.6 Flow 10000 site_no 9380000 datetime 2018-07-01 00:00 Conductance 662 Precipitation .00 GageHeight 8.65
読みやすいように、出力は縦に表示されます。
パス フィルタリングでより具体的に指定することで、結果を絞り込め、処理時間と外部ストレージの アクセスにかかるコストを節約できることがあります。