我有这些数据无法通过COPY导入我的红移群集:
"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]
有问题的字段是第4个字段,其值为:
"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'
我真的无法找到任何方法来获取这一行,而且我没有发现这些数据有任何问题。
有什么想法吗?
答案 0 :(得分:3)
我认为您的错误不是由于格式化造成的。我用你的复制声明测试了你的数据,这是我第一次尝试的。也许是清单文件的语法,表格的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-manifest文件
{
"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,因为我只有一条记录要加载。