有没有办法以预定义的顺序将文件从S3复制到通过数据管道的红移

时间:2018-02-20 19:34:39

标签: amazon-s3 amazon-redshift amazon-data-pipeline

我想知道是否有办法设置顺序,以便通过S3的数据管道将文件加载到redshift中。我知道我们可以使用清单来指定文件,但却找不到有关正在加载的文件顺序的任何信息。

例如,我的s​​3 folder1有10个文件。在数据管道中,我将其设置为此文件夹,但是如果可以的话,如何设置这些文件的加载顺序。

简而言之,据我所知,在数据管道使用时,无法以预定义的顺序加载文件。如果我错了,任何人都会纠正我。

我在想一个可能有多个源文件但它们可以有重复行但具有不同值的情况。在这种情况下,文件的使用顺序很重要。

例如,File1,File2是数据管道调度的一部分,如果两个文件都有一个名为xyz的公共客户条目。 File1 xyz Cost_owed 1000,File2 xyz Cost_owed 500.所以实际上客户xyz只欠500,但由于我使用删除和插入模式,文件的顺序在这里很重要。因此,我的redshift表最终可能会将xyz的条目设置为1000 OR 500,在这种特定情况下或任何其他情况下,文件的顺序很重要。或者,如果是这样,应该以任何其他方式处理,  你能给我一些想法吗?

谢谢

1 个答案:

答案 0 :(得分:1)

文件的顺序对于Redshift中的COPY命令没有/无关紧要,因为它是MPP系统。

Redshift依赖于目标表的SORTKEY来强制执行排序。