我正在使用逗号作为小数分隔符而不是fullstop(3,99而不是3.99)的原始数据。有没有办法直接在redshift copy命令中转换它,而不是必须上传然后更改?
答案 0 :(得分:3)
有两个问题需要考虑:
Amazon Redshift COPY
命令中的默认分隔符是管道符(|),除非使用CSV选项,在这种情况下,默认分隔符是逗号(,)
因此,如果您的文件由非逗号字符(例如点“”“符号)分隔,则数字中的逗号不会跨字段分割。
至于将逗号转换为小数,这是不可能。您需要将字段作为字符串加载,然后运行UPDATE命令将字符串复制到数字字段中(也可以替换字符)。
或者,在加载到Redshift之前尝试预处理文件(例如通过sed
),因此在加载到Redshift之前它是干净的。