17.10 - 例: MANIFESTFILE('file_name')とMANIFESTONLY('TRUE')の使用 - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1214-171K-JPN
Language
日本語 (日本)

次のコードは、外部オブジェクト ストアにマニフェスト ファイルを作成します。

最初に、マニフェスト ファイル値を含むデータベース テーブルを作成し、テーブル内の行を外部オブジェクト ストアのマニフェスト ファイルに書き込みます。

  1. まだ実行されていない場合は、ManifestTblという名前のマニフェスト テーブルをデータベースに作成し、マニフェスト値を格納します。オブジェクト ストアに個別のオブジェクトを書き込まないマニフェスト ファイルの作成を参照してください。
  2. ManifestTblにデータを挿入します。
    INSERT INTO ManifestTbl VALUES ('YOUR-OBJECT-STORE-URI/20180627/ManifestFile/object_33_0_1.parquet', 2803);
    INSERT INTO ManifestTbl VALUES ('YOUR-OBJECT-STORE-URI/20180627/ManifestFile/object_33_1_1.parquet', 3009);
    INSERT INTO ManifestTbl VALUES ('YOUR-OBJECT-STORE-URI/20180627/ManifestFile/object_33_2_1.parquet', 2733);
    INSERT INTO ManifestTbl VALUES ('YOUR-OBJECT-STORE-URIt/20180627/ManifestFile/object_33_3_1.parquet', 2591);
    
  3. ManifestTblのデータを外部オブジェクト ストアのマニフェスト ファイルに書き込みます。
    SELECT *
    FROM WRITE_NOS (
      ON  ( SELECT * FROM ManifestTbl )
      USING
        LOCATION('YOUR-OBJECT-STORE-URI/20180627/ManifestFile2/')
        AUTHORIZATION(MyAuthObj_Write)
        STOREDAS('PARQUET')
        MANIFESTFILE('/YOUR-OBJECT-STORE-URI/20180627/ManifestFile2/manifest2.json')
        MANIFESTONLY('TRUE')
    ) AS d;

    マニフェスト ファイルを書き込む外部オブジェクト ストアの場所に対するURIを使用して、YOUR-OBJECT-STORE-URI/20180701/ManifestFile2/のLOCATIONを置き換えます。

    YOUR-OBJECT-STORE-URI/20180701/ManifestFile2/manifest2.jsonのMANIFESTFILEの場所を、外部オブジェクト ストアのマニフェスト ファイルのURIに置き換えます。

    MANIFESTONLY('TRUE')では、マニフェスト ファイルのみが外部ストレージに書き込まれ、データ オブジェクトは書き込まれません。
    • このオプションを使用すると、データベースのアボートまたは再起動によってWRITE_NOS操作が失敗した場合、またはネットワーク接続に問題が発生しすべてのデータが外部ストレージに書き込まれる前にWRITE_NOS操作が中断および停止された場合に、新しいマニフェスト ファイルを作成できます。
    • マニフェストは、WRITE_NOSへの入力であるテーブルまたはクエリーの結果セットから作成されます。入力は、オブジェクトごとに1行のストレージ オブジェクトの名前とサイズのリストである必要があります。

    結果は次のようになります。

    ObjectName                                                       ObjectSize
    ------------------------------------------------------------------------- ----------
    /S3/s3.amazonaws.com/iewritenostest/20180627/ManifestFile2/manifest2.json        433
     
  4. 外部オブジェクトストアのコマンド ラインからコマンドを使用して、外部ストレージ上のマニフェストファイルを表示できます。マニフェスト ファイルには、次のような情報が含まれています。
    {"entries":[{"url":"s3://ie-writenos-bucket/20180701/ManifestFile/object_33_2_1.parquet","meta":{"content_length":2733}},
               {"url":"s3://ie-writenos-bucket/20180701/ManifestFile/object_33_7_1.parquet","meta":{"content_length":2591}},
               {"url":"s3://ie-writenos-bucket/20180701/ManifestFile/object_33_0_1.parquet","meta":{"content_length":2803}},
               {"url":"s3://ie-writenos-bucket/20180701/ManifestFile/object_33_1_1.parquet","meta":{"content_length":3009}}]
    }