外部データの内容を理解するには、READ_NOSテーブル演算子を使用していくつかの行をサンプリングします。
次の例では、CSVオブジェクトにヘッダーがあるかどうかを判断します。
この例では、CSVオブジェクト内のすべてのレコードを読み取り、オブジェクトの最初のレコードがヘッダーであると仮定します。出力を調べて、オブジェクトに属性の値ではなく、列見出しのようなテキストが含まれているかどうかを検証します。実際のデータには列見出しを持つレコードが1つだけ含まれている場合でも、READ_NOSは、出力を生成するときに、データ内の各レコードに対して列見出しを繰り返します。
Teradataは、データのインポート時に、ヘッダーと想定されるデータを後続の各データ レコードに挿入します。この例では、各行の前に付加された部分はテキストで、ヘッダー行であると推測されるため、この場所の外部データでは、ヘッダー行がFlow、site_no、datetime、Conductance、Precipitation、およびGageHeightになります。
例と結果は、河川流量のサンプル データ セットを示しています。独自のデータを使用するには、テーブル名、列名、および許可オブジェクトを置き換えます。
- NOS関連コマンドを実行するには、必要な権限を持つユーザーとしてデータベースにログオンします。
- 次を実行します。
SELECT TOP 2 payload FROM READ_NOS_FM ( ON ( SELECT CAST( NULL AS DATASET STORAGE FORMAT CSV ) ) USING LOCATION('YOUR-STORAGE-ACCOUNT') RETURNTYPE('NOSREAD_RECORD') ) AS D;
サンプルの河川流量データ セットの信頼証明と場所の値については、例の変数置換を参照してください。
結果は次のようになります。
Payload --------------------------------------------------------------------------------- Temp,Flow,site_no,datetime,Conductance,Precipitation,GageHeight 11.4,11400,09380000,2018-07-02 00:00,654,0.00,8.97 Temp,Flow,site_no,datetime,Conductance,Precipitation,GageHeight 10.6,17600,09380000,2018-07-03 00:00,674,0.00,10.23
ヘッダーは、すべてのレコードで繰り返されることに注意してください。列見出しを使用して外部テーブルを作成できます。
CSVオブジェクトにヘッダーがない場合は、USING句でHEADER('false')を使用して、これを示します。