Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 使用aws copy命令从平面文件上载数据时,是否可以验证列顺序_Amazon Web Services_Amazon Redshift - Fatal编程技术网

Amazon web services 使用aws copy命令从平面文件上载数据时,是否可以验证列顺序

Amazon web services 使用aws copy命令从平面文件上载数据时,是否可以验证列顺序,amazon-web-services,amazon-redshift,Amazon Web Services,Amazon Redshift,我正在使用copy命令将压缩平面文件中的数据上载到redshift,我想知道是否有任何方法可以验证文件的列顺序是否正确?(例如,如果字段都是varchar,则数据可能上载到错误的列) 在copy命令中,它显示您可以指定列顺序,但不能指定平面文件,但我想知道是否有其他方法允许我检查列是如何提供的(例如,仅将标题行上载到虚拟表中进行检查,但这似乎不可能) 你不可能在红移中真正做到这一点复制不提供任何选项来仅加载特定数量的行或执行任何验证 您最好的选择是在计划加载的工具中执行此操作。您可以很容易地从压

我正在使用
copy
命令将压缩平面文件中的数据上载到redshift,我想知道是否有任何方法可以验证文件的列顺序是否正确?(例如,如果字段都是
varchar
,则数据可能上载到错误的列)


在copy命令中,它显示您可以指定列顺序,但不能指定平面文件,但我想知道是否有其他方法允许我检查列是如何提供的(例如,仅将标题行上载到虚拟表中进行检查,但这似乎不可能)

你不可能在红移中真正做到这一点<代码>复制不提供任何选项来仅加载特定数量的行或执行任何验证

您最好的选择是在计划加载的工具中执行此操作。您可以很容易地从压缩文件中获取第一行(
zcat
),但是对于S3上的文件,您可能需要首先下载整个内容


FWIW,生成加载文件的过程应该完全自动化,这样列顺序就不会改变。如果这些文件是手动准备的,您会遇到各种各样的麻烦。

您到底想验证什么?平面文件中列的顺序是否正确。这是什么意思?是否要使用每个列名检查文本文件的标题值?例如,如果将一个进程设置为接收包含3列的表,所有varchar,顺序为a、b、c,但平面文件中列的顺序会以某种方式更改为c、b,a然后该表仍将在没有任何错误的情况下上载。请尝试找到一种方法,以便在文件的列顺序错误时突出显示该表。谢谢推荐。流程已经商定并实现自动化等,但如果我们能够进行检查,将更加舒适,我们将调查是否可以在不移动整个文件的情况下从zip中提取。