使用資訊清單指定資料檔案 - Amazon Redshift

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用資訊清單指定資料檔案

您可以使用資訊清單來確保COPY命令載入資料載入所需的所有檔案,以及僅載入所需的檔案。您可以使用資訊清單從不同儲存貯體載入檔案,或載入不共用相同字首的檔案。除了提供COPY命令的物件路徑之外,您還會提供 JSON格式化文字檔案的名稱,以明確列出要載入的檔案。資訊清單中URL的 必須指定檔案的儲存貯體名稱和完整物件路徑,而不只是字首。

如需資訊清單檔案的詳細資訊,請參閱COPY範例 使用資訊清單來指定資料檔案

下列範例顯示從不同儲存貯體JSON載入檔案,以及檔案名稱開頭為日期戳記的 。

{ "entries": [ {"url":"s3://amzn-s3-demo-bucket1/2013-10-04-custdata", "mandatory":true}, {"url":"s3://amzn-s3-demo-bucket1/2013-10-05-custdata", "mandatory":true}, {"url":"s3://amzn-s3-demo-bucket2/2013-10-04-custdata", "mandatory":true}, {"url":"s3://amzn-s3-demo-bucket2/2013-10-05-custdata", "mandatory":true} ] }

選用的mandatory旗標會指定如果找不到檔案,是否COPY應該傳回錯誤。mandatory 的預設值為 false。無論任何強制性設定為何,如果找不到檔案, COPY都會終止。

下列範例使用上一個名為 的範例中的資訊清單執行 COPY命令cust.manifest

COPY customer FROM 's3://amzn-s3-demo-bucket/cust.manifest' IAM_ROLE 'arn:aws:iam::0123456789012:role/MyRedshiftRole' MANIFEST;

使用 建立的清單清單 UNLOAD

UNLOAD 操作使用 MANIFEST 參數建立的清單清單可能具有COPY操作不需要的金鑰。例如,以下 UNLOAD 清單檔案包含 meta 索引鍵,針對 Amazon Redshift Spectrum 外部資料表,還有載入 ORCParquet 檔案格式的資料檔案時,都需要此索引鍵。meta 索引鍵包含的 content_length 索引鍵具有的值為檔案的實際大小 (以位元組為單位)。COPY 操作只需要 url金鑰和選用的 mandatory金鑰。

{ "entries": [ {"url":"s3://amzn-s3-demo-bucket/unload/manifest_0000_part_00", "meta": { "content_length": 5956875 }}, {"url":"s3://amzn-s3-demo-bucket/unload/unload/manifest_0001_part_00", "meta": { "content_length": 5997091 }} ] }

如需資訊清單檔案的相關資訊,請參閱Example: COPY from Amazon S3 using a manifest