READ_NOS文に信頼証明を含める - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - Native Object Store 入門ガイド

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
Published
2021年1月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/zws1595641486108.ditamap
dita:ditavalPath
ja-JP/zws1595641486108.ditaval
dita:id
B035-1214
Product Category
Software
Teradata Vantage

許可オブジェクトと関数マッピングを作成する代わりに、READ_NOS文のUSING句のACCESS_IDおよびACCESS_KEYキーワードに信頼証明を含めることができます。

例: 指定したLOCATIONにあるファイルをリストするためのNOSREAD_KEYSを使用したパブリック バケットへのアクセス

次の例では、READ_NOS文にACCESS_IDとACCESS_KEYが含まれています。これは、Teradataが提供するパブリック バケットにアクセスします。

SELECT TOP 2 location(CHAR(100)), ObjectLength FROM READ_NOS (
     USING
     LOCATION ('/s3/td-usgs-public.s3.amazonaws.com/CSVDATA/')
     ACCESS_ID ('')
     ACCESS_KEY ('')
     RETURNTYPE ('NOSREAD_KEYS')
     )
AS d;

パブリック バケットの場合、ACCESS_IDとACCESS_KEYは空の文字列です。

ObjectLengthは、オブジェクト ストアの指定されたLOCATIONにある外部ファイルのサイズです。NOSREAD_KEYSはLOCATIONで指定されたパスからファイルのリストを取得します。

LOCATION、ACCESS_ID、ACCESS_KEYを置き換えて、独自の外部ストレージにアクセスします。

結果:

Location  /S3/s3.amazonaws.com/td-usgs-public/CSVDATA/09380000/2018/06/30.csv
ObjectLength  5009

Location  /S3/s3.amazonaws.com/td-usgs-public/CSVDATA/09380000/2018/06/29.csv
ObjectLength  5088

読みやすくするために、出力は縦に表示しています。

例: 指定したLOCATIONのペイロードを返すためのNOSREAD_RECORDを使用したパブリック バケットへのアクセス

次の例では、CSVデータを格納しているTeradataが提供するパブリック バケットにアクセスします。

SELECT TOP 2 payload..* FROM READ_NOS (
     USING
     LOCATION ('/s3/td-usgs-public.s3.amazonaws.com/CSVDATA/')
     ACCESS_ID ('')
     ACCESS_KEY ('')
     RETURNTYPE ('NOSREAD_RECORD')
     )
AS d;

パブリック バケットの場合、ACCESS_IDとACCESS_KEYは空の文字列です。パブリックでないバケットまたはコンテナにアクセスする場合は、ACCESS_IDとACCESS_KEYに単一引用符で囲んだ信頼証明を含めます。

ペイロードはLOCATIONで指定された外部の場所に格納されるデータです。NOSREAD_RECORDは、外部レコードごとに1行を返します。

LOCATION、ACCESS_ID、ACCESS_KEYを置き換えて、独自の外部ストレージにアクセスします。

結果:

Payload..*
---------------------------------------------------------------------------
["11.6","10000","09380000","2018-07-01 00:00","662","0.00","8.65"]
["11.4","11400","09380000","2018-07-02 00:00","654","0.00","8.97"]

次の例では、JSONデータを格納しているTeradataが提供するパブリック バケットにアクセスします。

SELECT TOP 2 payload.* FROM READ_NOS (
     USING
     LOCATION ('/s3/td-usgs-public.s3.amazonaws.com/JSONDATA/')
     ACCESS_ID ('')
     ACCESS_KEY ('')
     RETURNTYPE ('NOSREAD_RECORD')
     )
AS d;

パブリック バケットの場合、ACCESS_IDとACCESS_KEYは空の文字列です。パブリックでないバケットまたはコンテナにアクセスする場合は、ACCESS_IDとACCESS_KEYに単一引用符で囲んだ信頼証明を含めます。

ペイロードはLOCATIONで指定された外部の場所に格納されるデータです。NOSREAD_RECORDは、外部レコードごとに1行を返します。

LOCATION、ACCESS_ID、ACCESS_KEYを置き換えて、独自の外部ストレージにアクセスします。

結果:

Payload.*
---------------------------------------------------------------------------
["09380000","2018-07-02 00:00","11400","8.97","11.4","654","0.00"]
["09380000","2018-06-30 00:00","15900","9.92","10.4","685","0.00"]