在redshift postgresql中我可以跳过具有复制功能的列
发布时间:2020-12-13 16:18:42 所属栏目:百科 来源:网络整理
导读:我有一个带有列的.csv表(t1):亚马逊S3存储中的c1,c2,c3 我想将其复制到亚马逊红移中 我使用列创建表:c1,c3,其中所有列都可以为空 我用命令复制: 复制t1a(c1,c3) 从t1 我预计它会从t1复制c1和c3并将默认的空值放在c2中,因此t1a中的一行可能看起来像(c1_row
>我有一个带有列的.csv表(t1):亚马逊S3存储中的c1,c2,c3
>我想将其复制到亚马逊红移中 >我使用列创建表:c1,c3,其中所有列都可以为空 >我用命令复制: 复制t1a(c1,c3) 复制t1a http://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html >主要问题是我使用指定列的问题.谢谢
如果要跳过预处理部分,可以将要跳过的列定义为CHAR(1),然后将TRUNCATECOLUMNS参数用于COPY命令:
CREATE TABLE t1a ( c1,c2 CHAR(1),c3 ); COPY t1a FROM t1 TRUNCATECOLUMNS TRUNCATECOLUMNS忽略导入期间比表模式中定义的更长的所有数据,因此该列中的所有数据将被截断为1个字符. 这只是一个黑客,建议使用预处理输入文件,但有时候只需要一个hack就可以了. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |