使用manifest从多个s3文件夹加载红移表



我正在使用复制命令从s3使用manifest加载红移表。

要求加载多个文件(跨不同文件夹),例如

Path1 : s3://bucket_name/folder_name/folder_1/folder/part*.parquet
Path2 : s3://bucket_name/folder_name/folder_2/folder/part*.parquet
Path3 : s3://bucket_name/folder_name/folder_3/folder/part*.parquet

每个路径将有~1000个文件

我如何创建一个清单来加载这个?

我创建了一个清单,如下所示:

{
"fileLocations": [ 
{"url":"s3://bucket_name/folder_name/folder_1/folder/part*.parquet", "mandatory":false},
{"url":"s3://bucket_name/folder_name/folder_3/folder/part*.parquet", "mandatory":false},
{"url":"s3://bucket_name/folder_name/folder_2/folder/part*.parquet", "mandatory":false},
]
}

但是我得到一个错误:

Manifest不包含文件列表。

From Using manifest to specify data files - Amazon Redshift:

下面的示例显示了从不同桶中加载文件的JSON,并且文件名以日期戳开始:

{
"entries": [
{"url":"s3://mybucket-alpha/2013-10-04-custdata", "mandatory":true},
{"url":"s3://mybucket-alpha/2013-10-05-custdata", "mandatory":true},
{"url":"s3://mybucket-beta/2013-10-04-custdata", "mandatory":true},
{"url":"s3://mybucket-beta/2013-10-05-custdata", "mandatory":true}
]
}

问题可能是你对fileLocationsentries的使用。

我也怀疑使用通配符是不允许的.

相关内容

  • 没有找到相关文章

最新更新