我正在尝试从S3存储桶中将数据复制到redshift中,但是我收到了1204错误代码“字符长度超出DDL长度”。
copy table_name from '[data source]'
access_key_id '[access key]'
secret_access_key '[secret access key]'
region 'us-east-1'
null as 'NA'
delimiter ','
removequotes;
该错误发生在第一行,它尝试将状态缩写“ GA”放入由数据类型char(2)定义的data_state列中。查询stl_load_errors表时,得到以下结果:
line_number colname col_length type raw_field_value err_code err_reason
1 data_state 2 char GA 1204 Char length exceeds DDL length
据我所知,长度不应超过两个字符,并且应将其设置为char(2)。有人知道是什么原因造成的吗?
答案 0 :(得分:0)
通过将数据类型改为char(3)使它起作用,但是仍然不确定为什么char(2)无法起作用
答案 1 :(得分:0)
我的状态列也是如此。 Redshift默认将char设置为char(1)-所以我必须指定char(2)-您确定它没有默认设置为char(1)因为我的是
答案 2 :(得分:0)