にUNLOAD&COPYを防止することで失敗します。データを見る隠し文字私はCOPYを経由して輸出さ赤方偏移インスタンスにUNLOADを使用してデータをインポートする赤方偏移
Delimiter not found
その理由は明らかです:
"full_url"|"http://www.blahblah.com/about.html?....%2F%2Fetc%2Fpasswd\\|"w4NrxtSqsSJ7B6U3Nv2I8SP9300="|"2016-08-17 16:03:08"
"passwd \"の後ろに二重引用符がないことに注意してください。
これらの特定の行をdbから照会すると、
> SELECT value, len(value) FROM property WHERE id=1232323
value | len
----------------------------------------------------------+-------
http://www.blahblah.com/about.html?....%2F%2Fetc%2Fpasswd | 58
lenは58ですが、文字列の長さを数えれば実際は57文字です。この文字列の最後には、UNLOAD上で文字列を正しくエスケープすることができない、表示不可能な文字があると思います。
私はまた、クエリの一部として手動で引用符を入れようとしましたが、動作しませんでした。文字通り引用符を削除します。
このデータをどのように読み込むことができますか?私は、行を失うか、データを変更するとうまくいく。
UNLOAD:
UNLOAD ('
SELECT
p.name as name,
p.value as value,
p.event_id as event_id,
e.created_server_ts
FROM
property p
JOIN event e ON p.event_id=e.id
')
TO 's3://bucket/data'
WITH CREDENTIALS 'aws_access_key_id=<KEY>;aws_secret_access_key=<SECRET>'
ESCAPE ADDQUOTES GZIP MANIFEST;
COPY:それは常にあるため、特定の行で失敗し
copy property
from 's3://bucket/data' credentials
'aws_access_key_id=<KEY>;aws_secret_access_key=<SECRET>'
escape removequotes gzip manifest ACCEPTINVCHARS as '^';
:
参考のために、ここで私はアンロードするために使用するコマンドとCOPYは、
これは完全に機能して、10億のうち118行を失いました。正直なところ私は気にしません:)大部分のデータを持っていればうれしいです。本当にありがとう! – amirpc
あなたは大歓迎です!喜んで助けてください! – BigDataKid