我有无法通过COPY导入到我的redshift集群中的数据:
"piXKfqz9e54V6n799BYnKSsc2nI="|"e45a2fb9-d0a1-4ffe-bb55-5e91548fbd79"|"\\N"|"2016-08-06 12:34:49"|"2016-08-06 12:34:49"|"impression"|"e45a2fb9-d0a1-4ffe-bb55-5e91548fbd79"|"marketplace_server"|"\\N"|"\\N"|"\\N"|"\\N"|"\\N"|"\\N"|"\\N"|"\\N"|"\\N"|"\\N"|"\\N"|"\\N"|"/lead_dyno/visit_store/140409475"|"lead_dyno"|"visit_store"|"140409475"|"lead_dyno"|"\\N"|"2607:fb90:6847:e17b:1304:2a57:e797:80ed"|"\\N"|"Mozilla/5.0 (Linux; Android 6.0; LGMS631 Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.81 Mobile Safari/537.36"
错误是:
Invalid timestamp format or value [YYYY-MM-DD HH24:MI:SS]
该字段是第四个字段,其值:
"2016-08-06 12:34:49"
我基本上已经尝试过尝试通过COPY导入的每个标志:
copy event from 's3://bucket/test-manifest' credentials 'aws_access_key_id=<KEY>;aws_secret_access_key=<SECRET>' removequotes gzip manifest NULL AS '\\N';
我尝试添加
timeformat 'auto'
timeformat 'YYYY-MM-DD HH24:MI:SS' dateformat 'YYYY-MM-DD'
timeformat 'YYYY-MM-DD HH24:MI:SS'
timeformat 'YYYY-MM-DD HH:MI:SS'
我真的不知道有什么方法可以获取该行,而且我也看不到任何错误。
有什么想法吗?
我认为您的错误不是由于格式化。我使用复制语句测试了您的数据,并且在我第一次尝试时就可以使用。也许清单文件的语法,表的DDL,文件在S3中的位置。
我只是使用您的数据进行了测试,结果很好。
将我的文件与您的文件进行比较,可能会帮助您找到问题所在。
这是我使用的:
我的表DDL在这里:
CREATE TABLE tba (
text1 varchar(256) NULL
,text2 varchar(256) NULL
,text3 varchar(256) NULL
,date01 timestamp NULL
,date02 timestamp NULL
,text4 varchar(256) NULL
) DISTSTYLE EVEN;
这些是我的data1.txt文件的内容
"piXKfqz9e54V6n799BYnKSsc2nI="|"e45a2fb9-d0a1-4ffe-bb55-5e91548fbd79"|"\\N"|"2016-08-06 12:34:49"|"2016-08-06 12:34:49"|"impression"
这是我的data1清单文件
{
"entries": [
{"url":"s3://<<my-bucket>>/data1.txt", "mandatory":true}
]
}
这是我的复制声明(基本上是从您那里复制并粘贴)
copy tba from 's3://rocha-dev/data1-manifest' credentials
'aws_access_key_id=<<mykey>>;aws_secret_access_key=<<my-secret>>' removequotes manifest NULL AS '\\N';
下面是从我的PSQL窗口复制的,该窗口显示成功执行:
dev=# CREATE TABLE tba (
dev(# text1 varchar(256) NULL
dev(# ,text2 varchar(256) NULL
dev(# ,text3 varchar(256) NULL
dev(# ,date01 timestamp NULL
dev(# ,date02 timestamp NULL
dev(# ,text4 varchar(256) NULL
dev(# ) DISTSTYLE EVEN;
CREATE TABLE
dev=# copy tba from 's3://<<my-bucket>>/data1-manifest' credentials 'aws_access_key_id= <<my-key>>; aws_secret_access_key=<<my-secret>>' removequotes manifest NULL AS '\\N';
INFO: Load into table 'tba' completed, 1 record(s) loaded successfully.
COPY
dev=# select * from tba;
text1 | text2 | text3 | date01 | date02 | text4
------------------------------+--------------------------------------+-------+---------------------+---------------------+------------
piXKfqz9e54V6n799BYnKSsc2nI= | e45a2fb9-d0a1-4ffe-bb55-5e91548fbd79 | \\N | 2016-08-06 12:34:49 | 2016-08-06 12:34:49 | impression
(1 row)
我的声明与您的声明之间唯一的实质区别是我没有使用gzip,因为我只有一条记录要加载。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句