[英]Redshift spectrum : how to import only certain files
使用紅移光譜時,您似乎只能導入提供位置直到文件夾的數據,並導入文件夾內的所有文件。
有沒有辦法從包含多個文件的文件夾中導入僅導入一個文件。 當提供帶有 filename 的完整路徑時,我認為它將文件視為清單文件並給出錯誤:清單太大或不支持 JSON。
有沒有其他辦法?
您無意中回答了自己的問題:使用清單文件
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.