次のコードは、外部オブジェクト ストアにマニフェスト ファイルを作成します。
最初に、マニフェスト ファイル値を含むデータベース テーブルを作成し、テーブル内の行を外部オブジェクト ストアのマニフェスト ファイルに書き込みます。
- まだ実行されていない場合は、ManifestTblという名前のマニフェスト テーブルをデータベースに作成し、マニフェスト値を格納します。オブジェクト ストアに個別のオブジェクトを書き込まないマニフェスト ファイルの作成を参照してください。
- ManifestTblにデータを挿入します。
INSERT INTO ManifestTbl VALUES ('/S3/s3.amazonaws.com/ie-writenos-bucket/20180701/ManifestFile/object_33_0_1.parquet', 2803); INSERT INTO ManifestTbl VALUES ('/S3/s3.amazonaws.com/ie-writenos-bucket/20180701/ManifestFile/object_33_6_1.parquet', 2733); INSERT INTO ManifestTbl VALUES ('/S3/s3.amazonaws.com/ie-writenos-bucket/20180701/ManifestFile/object_33_1_1.parquet', 3009); INSERT INTO ManifestTbl VALUES ('/S3/s3.amazonaws.com/ie-writenos-bucket/20180701/ManifestFile/object_33_7_1.parquet', 2591); INSERT INTO ManifestTbl VALUES ('/S3/s3.amazonaws.com/ie-writenos-bucket/20180701/ManifestFile/object_33_2_1.parquet', 2725);
- ManifestTblのデータを外部オブジェクト ストアのマニフェスト ファイルに書き込みます。
SELECT * FROM WRITE_NOS_FM ( ON ( SELECT * FROM ManifestTbl ) USING LOCATION('YOUR-STORAGE-ACCOUNT/20180701/ManifestFile2/') STOREDAS('PARQUET') MANIFESTFILE('YOUR-STORAGE-ACCOUNT/20180701/ManifestFile2/manifest2.json') MANIFESTONLY('TRUE') ) AS d ;
マニフェスト ファイルを書き込む外部オブジェクト ストアの場所に対するURIを使用して、YOUR-STORAGE-ACCOUNT/20180701/ManifestFile2/のLOCATIONを置き換えます。
YOUR-STORAGE-ACCOUNT/20180701/ManifestFile2/manifest2.jsonのMANIFESTFILEの場所を、外部オブジェクト ストアのマニフェスト ファイルのURIに置き換えます。
MANIFESTONLY('TRUE')では、マニフェスト ファイルのみが外部ストレージに書き込まれ、データ オブジェクトは書き込まれません。- このオプションを使用すると、データベースのアボートまたは再起動によってWRITE_NOS操作が失敗した場合、またはネットワーク接続に問題が発生しすべてのデータが外部ストレージに書き込まれる前にWRITE_NOS操作が中断および停止された場合に、新しいマニフェスト ファイルを作成できます。
- マニフェストは、WRITE_NOSへの入力であるテーブルまたはクエリーの結果セットから作成されます。入力は、オブジェクトごとに1行のストレージ オブジェクトの名前とサイズのリストである必要があります。
- 外部オブジェクト ストアのコマンド ラインからコマンドを使用して、外部ストレージのマニフェスト ファイルを表示できます。マニフェスト ファイルには、次の情報が含まれています。
{"entries":[{"url":"s3://ie-writenos-bucket/20180701/ManifestFile/object_33_2_1.parquet","meta":{"content_length":2725}}, {"url":"s3://ie-writenos-bucket/20180701/ManifestFile/object_33_6_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}}] }