Amazon s3 在amazon红移中使用copy命令处理数值空值
在尝试使用s3将数据加载到红移时,我遇到了一个错误Amazon s3 在amazon红移中使用copy命令处理数值空值,amazon-s3,amazon-redshift,Amazon S3,Amazon Redshift,在尝试使用s3将数据加载到红移时,我遇到了一个错误 无效数字,值“N”,位置0,类型:Decimal 尝试将NULL值加载到数值数据类型列时失败(列可为NULL) 虽然我使用NULL作为“\000”转换 COPY campaign FROM 's3://test/campaign.csv' credentials '------------------' EMPTYASNULL NULL AS '\000' delimiter ',' region '----'; 我们如何处理这种情况
无效数字,值“N”,位置0,类型:Decimal
尝试将NULL值加载到数值数据类型列时失败(列可为NULL)
虽然我使用NULL作为“\000”转换
COPY campaign
FROM 's3://test/campaign.csv'
credentials '------------------'
EMPTYASNULL
NULL AS '\000'
delimiter ','
region '----';
我们如何处理这种情况
表:
CREATE TABLE campaign (
name VARCHAR(255) SORTKEY NOT NULL,
discount_med DECIMAL(5,2),
discount_packages DECIMAL(5,2),
discount_test DECIMAL(5,2)
);
样本输入:
test1,5.25,NULL,1
使用
NULL作为'NULL'代替NULL作为'\000'
。这在您的表格和数据上对我很有用:
COPY campaign
FROM 's3://denis-stackoverflow/campaign.csv'
credentials '---'
NULL AS 'NULL'
EMPTYASNULL
delimiter ','
region 'ap-southeast-2';
您可以发布CSV中的示例行以及表架构吗?@denismo创建表活动(名称VARCHAR(255)SORTKEY NOT NULL,折扣十进制(5,2),折扣十进制(5,2),折扣十进制(5,2),折扣测试十进制(5,2));输入test1,5.25,NULL,1它在第3列失败我在尝试使用copy命令加载布尔数据类型中的NULL值时遇到相同的错误1,客户取消了订单,2,NULL,NULL,12016-02-17 11:48:22,NULL,0,NULL如果这对其他人有帮助,我必须将NULL更改为NULL。对于上载的文件中的null值,大小写很重要。此外,这仅适用于csv格式的文件:psycopg2.errors.FeatureNotSupported:基于拼花地板的副本不支持null AS参数