Copy JSON column in Redshift -


i have import csv file in redshift s3. 1 of columns in table json format.

while using copy command, following error -

invalid timestamp format or value [yyyy-mm-dd hh24:mi:ss]    

the command used -

copy api_log 's3://x/y' credentials 'aws_access_key_id=;aws_secret_access_key=' delimiter ',' maxerror 250 truncatecolumns; 

commit;

sample data -

c1 c2    c3    x       y     {a:b,c:d} 

if add quotes json , removequotes copy works.

put test file in s3:

echo x,y,'"{a:b,c:d}"' | aws s3 cp - s3://[bucket]/json/test_file.csv 

create table:

create table if not exists api_log (c1 varchar, c2 varchar, json_colum varchar(65535)); 

load:

copy api_log  's3://[bucket]/json/'  credentials 'aws_access_key_id=;aws_secret_access_key=' delimiter ','  maxerror 250  truncatecolumns removequotes; 

or, if don't quotes, can use tabs or other character not in data. e.g.:

echo -e "x\ty\t{a:b,c:d}" | aws s3 cp - s3://[bucket]/json/test_file.csv 

then:

copy api_log  's3://[bucket]/json/'  credentials 'aws_access_key_id=;aws_secret_access_key=' delimiter '\t'  maxerror 250  truncatecolumns removequotes; 

either way, get:

select * api_log;  c1 | c2 | json_colum  ----+----+------------  x  | y  | {a:b,c:d} 

Comments

Popular posts from this blog

html - Firefox flex bug applied to buttons? -

html - Missing border-right in select on Firefox -

python - build a suggestions list using fuzzywuzzy -