I am trying to copy data from S3 to amazon redshift by Python script
command =
("COPY {qualname}\n"
"FROM 's3://{keypath}' \n"
"CREDENTIALS 'aws_access_key_id={key};aws_secret_access_key={secret}' "
"{gzip} "
"{null_as} "
#"{emptyasnull}"
"CSV IGNOREHEADER 1;").format(qualname=qualname,
keypath=url,
key=aws_access_key_id,
secret=aws_secret_access_key,
gzip="GZIP " if compress else " ",
null_as="NULL AS '{}'".format(null_as) if null_as is not None else "",
emptyasnull="EMPTYASNULLL " if emptyasnull else " ")```
keypathis s3://{bucket - name}/daily-sku-benefits/2018-12-27qualnameis the table name
However I am getting an error:
(psycopg2.InternalError) Load into table 'daily_sku_benefits' failed. Check 'stl_load_errors' system table for details. [SQL: "COPY daily_sku_benefits\nFROM 's3://{bucket - name}/daily-sku-benefits/2018-12-27.csv.gzip' \nCREDENTIALS 'aws_access_key_id={access key};aws_secret_access_key={secret-key} GZIP CSV IGNOREHEADER 1;"] (Background on this error at: http://sqlalche.me/e/2j85)
And on checking stl_load_error I am getting this error:
Invalid timestamp format or value [YYYY-MM-DD HH24:MI:SS]
Does anybody have any idea about it?
envar_date_string = os.environ.get(key='BILL_DATE',default=datetime.today().strftime("%Y-%m-%d"))envar_date = datetime.strptime(envar_date_string, "%Y-%m-%d")billing_date = datetime(envar_date.year, envar_date.month, envar_date.day)- sid297