我正在尝试将lzop-compresed文件从S3复制到Redshift。该文件最初是使用带有--outputCodec lzo
选项的S3DistCp生成的。
S3文件似乎被正确压缩,因为我可以在命令行上成功下载并充气:
lzop -d downloaded_file.lzo
但是当我尝试将其加载到Redshift时,我收到一个错误:
COPY atomic.events FROM 's3://path-to/bucket/' CREDENTIALS 'aws_access_key_id=xxx;aws_secret_access_key=xxx' REGION AS 'eu-west-1' DELIMITER '\t' MAXERROR 1 EMPTYASNULL FILLRECORD TRUNCATECOLUMNS TIMEFORMAT 'auto' ACCEPTINVCHARS LZOP;
ERROR: failed to inflate with lzop: unexpected end of file.
DETAIL:
-----------------------------------------------
error: failed to inflate with lzop: unexpected end of file.
code: 9001
context: S3 key being read : s3://path-to/bucket/
query: 244
location: table_s3_scanner.cpp:348
process: query0_60 [pid=5615]
-----------------------------------------------
关于可能导致负载失败的任何想法?
答案 0 :(得分:0)
尝试指定确切的文件名。
S3://path-to/bucket/THE_FILE_NAME.extension
您使用的代码将遍历那里可用的所有文件。看起来在同一文件夹中可能存在其他类型的文件(例如:清单)
{{1}}