AWS EMR - Hive在S3中创建新表会导致AmazonS3Exception:Bad Request

时间:2018-02-26 19:14:38

标签: amazon-web-services amazon-s3 hive amazon-emr elastic-map-reduce

我有一个Hive脚本我正在EMR中运行,它正在S3中创建一个分区的Parquet表,其中包含一个存储在S3中的~40GB gzip压缩文件。

该脚本可以运行大约4个小时但是达到了一个点(非常确定它刚刚完成创建Parquet表)它出错了。日志显示错误是:

AmazonS3Exception: Bad Request

引起:

{{1}}

我能看到的日志中确实没有更多有用的信息。它正在从S3中读取CSV文件并且它在S3中创建了几个元数据文件,因此我确认该实例具有对Bucket的读/写权限。

我真的无法想到其他任何事情,我希望日志中有关于什么"错误请求"到Hive正在制作的S3。有人有什么想法吗?

1 个答案:

答案 0 :(得分:0)

BadRequest是来自AWS的一个毫无意义的响应,如果有任何理由它不喜欢调用者,它会发送它。没有人真正知道发生了什么。

  1. ASF S3A connector的故障排除文档列出了一些原因,但它们并不完整,并且基于猜测消息消失的原因。
  2. 如果您的请求ID失败,您可以提交亚马逊的支持请求,以查看他们所看到的内容。
  3. 如果它让你感觉更好,当我尝试在对象存储中准确列出一个目录时,我就会看到它,而且我是s3a连接器的共同作者。就像我说的“猜测”。找到答案后,在此处添加评论,或者,如果故障排除文档中没有,请在主题上提交针对hadoop的补丁。