Amazon s3 在amazon红移中使用copy命令处理数值空值

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 '----'; 我们如何处理这种情况

在尝试使用s3将数据加载到红移时,我遇到了一个错误

无效数字,值“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参数