无法将S3中的lzop压缩文件加载到Redshift中

时间:2015-07-10 14:41:27

标签: amazon-web-services amazon-s3 amazon-redshift lzo

我正在尝试将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]
  -----------------------------------------------

关于可能导致负载失败的任何想法?

1 个答案:

答案 0 :(得分:0)

尝试指定确切的文件名。

  

S3://path-to/bucket/THE_FILE_NAME.extension

您使用的代码将遍历那里可用的所有文件。看起来在同一文件夹中可能存在其他类型的文件(例如:清单)

{{1}}