程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了由于空白字段,S3 COPY 到 Redshift 表在选项卡受限文件上失败大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决由于空白字段,S3 COPY 到 Redshift 表在选项卡受限文件上失败?

开发过程中遇到由于空白字段,S3 COPY 到 Redshift 表在选项卡受限文件上失败的问题如何解决?下面主要结合日常开发的经验,给出你关于由于空白字段,S3 COPY 到 Redshift 表在选项卡受限文件上失败的解决方法建议,希望对你解决由于空白字段,S3 COPY 到 Redshift 表在选项卡受限文件上失败有所启发或帮助;

如标题所述。我正在尝试使用 s3 复制命令将从 s3 压缩的制表符限制文件复制到 Redshift 表中,但其中一列是空的并且弄乱了列对齐并破坏了复制语句。 这是我正在使用的 copY 命令:

copY homeowner.smartystreets_attom_delta_test
            FROM 's3://<bucket/filepath/filename>.gz'
            CREDENTIALS 'aws_access_key_ID=<access_key_ID>;aws_secret_access_key=<access_key>'
            DEliMITER AS '\t'
            GZIP
            IGnorEheader 1
            TruncATEcolumNS
            FILLRECORD
            BLANKSASNulL
            EMPTYASNulL
            TRIMBLANKS
            ACCEPTinVCHARS AS '0';

如您所见,我正在尝试使用任何处理 NulL 或空列的选项,但它没有帮助。 我认为空列中的连续选项卡正在破坏命令。

解决方法

空字段为您提供一个空值 - 即一个空字符串。使用 EMPTYASNULL,当检测到这样的字段时,Redshift 将其视为 NULL。

要真正获得 NULL 本身,您需要在字段中包含表示 NULL 的特殊(且区分大小写)字符串。

如果您缺少制表符,您所拥有的不是空字符串或 NULL;这是一行缺少一列。

FILLRECORD 将帮助您,但仅适用于从列末尾连续的缺失列,向后移动;我想这里不是这种情况,因为您遇到了问题。

我看到的唯一解决方案是,您需要在加载之前对数据进行预处理、清理和验证。

大佬总结

以上是大佬教程为你收集整理的由于空白字段,S3 COPY 到 Redshift 表在选项卡受限文件上失败全部内容,希望文章能够帮你解决由于空白字段,S3 COPY 到 Redshift 表在选项卡受限文件上失败所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。