簡體   English   中英

Redshift 頻譜:如何僅導入某些文件

[英]Redshift spectrum : how to import only certain files

使用紅移光譜時,您似乎只能導入提供位置直到文件夾的數據,並導入文件夾內的所有文件。

有沒有辦法從包含多個文件的文件夾中導入僅導入一個文件。 當提供帶有 filename 的完整路徑時,我認為它將文件視為清單文件並給出錯誤:清單太大或不支持 JSON。

有沒有其他辦法?

您無意中回答了自己的問題:使用清單文件

創建外部表 - Amazon Redshift

LOCATION { 's3://bucket/folder/' | 's3://bucket/manifest_file' }

包含數據文件或包含 Amazon S3 對象路徑列表的清單文件的 Amazon S3 存儲桶或文件夾的路徑。 存儲桶必須與 Amazon Redshift 集群位於同一 AWS 區域。

如果路徑指定清單文件,則s3://bucket/manifest_file參數必須顯式引用單個文件 - 例如,'s3://mybucket/manifest.txt'。 它不能引用鍵前綴。

清單是一個 JSON 格式的文本文件,其中列出了要從 Amazon S3 加載的每個文件的 URL 以及文件的大小(以字節為單位)。 URL 包括文件的存儲桶名稱和完整對象路徑。 清單中指定的文件可以位於不同的存儲桶中,但所有存儲桶都必須與 Amazon Redshift 集群位於同一 AWS 區域中。

我不確定為什么它需要每個文件的長度。 它可用於在多個節點之間分配工作負載。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM