Date JSON(S3)到红移,can';t在YYYY-MM-DDTHH24:MI:SSZ中加载到timestamptz列中
我在通过copy命令将S3存储桶中的json文件(日期字段)加载到红移时遇到问题。有问题的三列如下所示Date JSON(S3)到红移,can';t在YYYY-MM-DDTHH24:MI:SSZ中加载到timestamptz列中,date,datetime,amazon-redshift,Date,Datetime,Amazon Redshift,我在通过copy命令将S3存储桶中的json文件(日期字段)加载到红移时遇到问题。有问题的三列如下所示 { ... “日期”:20201209, “日期检查”:“2020-12-09T24:00:00Z”, “最后修改”:“2020-12-09T24:00:00Z”, ... } DDL看起来像 创建表表1( ..., 日期, Datez, 拉斯特兹, ... ); 复制命令是 COPY {schema}.{table} FROM 's3://{s3_bucket}/{s3_prefix}'
{
...
“日期”:20201209,
“日期检查”:“2020-12-09T24:00:00Z”,
“最后修改”:“2020-12-09T24:00:00Z”,
...
}
DDL看起来像
创建表表1(
...,
日期,
Datez,
拉斯特兹,
...
);
复制命令是
COPY {schema}.{table}
FROM 's3://{s3_bucket}/{s3_prefix}'
with credentials
'aws_access_key_id={access_key};aws_secret_access_key={secret_key}'
DATEFORMAT 'YYYYMMDD'
TIMEFORMAT 'YYYY-MM-DDTHH24:MM:SSZ'
JSON 'auto ignorecase';
我的理解是,DATEFORMAT
将解析date
列,TIMEFORMAT
将处理timestamptz
列。我只在timestamp-tz
列上得到一个错误,特别是“无效的时间戳格式或值[YYYY-MM-DDTHH24:MI:SSZ]”
现在,我还尝试将dateChecked
和lastModified
列定义为日期,并在copy语句中使用日期格式“YYYY-MM-DD”,而不使用TIMEFORMAT
。这适用于这两列,但“日期”列为空
我还尝试了ACCEPTANYDATE
,DATEFORMAT'auto'
,TIMEFORMAT'auto'
命令的每一种组合,它们对所有三列都返回null
我的问题是如何加载具有不同日期/时间格式的数据
如蒙协助,将不胜感激。多谢各位