繁体   English   中英

Amazon AWS Athena S3 和 Glacier 混合存储桶

[英]Amazon AWS Athena S3 and Glacier Mixed Bucket

使用 S3 Glacier 的 Amazon Athena 日志分析服务

我们在 S3 中有 PB 级的数据。 我们是https://www.pubnub.com/ ,我们将使用数据存储在我们网络的 S3 中以用于计费。 我们将制表符分隔的日志文件存储在 S3 存储桶中。 Athena 给我们一个HIVE_CURSOR_ERROR失败。

我们的 S3 存储桶设置为在 6 个月后自动推送到 AWS Glacier。 除了 Glacier 备份文件之外,我们的存储桶还有热的 S3 文件并且可以读取。 因此,我们收到了来自 Athena 的访问错误。 错误中引用的文件是 Glacier 备份。

我猜答案是:不要将冰川备份保存在同一个存储桶中。 由于我们的数据量大小,我们无法轻松使用此选项。 我相信 Athena 在此设置中不起作用,我们将无法使用 Athena 进行日志分析。

但是,如果有一种方法可以使用 Athena,我们会很高兴。 是否有解决HIVE_CURSOR_ERROR的方法以及跳过 Glacier 文件的方法? 我们的 s3 存储桶是一个没有文件夹的扁平存储桶。

AWS Athena S3 操作异常

屏幕截图中省略了上面和下面屏幕截图中显示的 S3 文件对象名称。 HIVE_CURSOR_ERROR的文件引用实际上是 Glacier 对象。 您可以在我们 S3 Bucket 的这个屏幕截图中看到它。

由 Athena 访问的 Glacier 中的 Amazon S3 Bucket 对象

请注意,我尝试在https://forums.aws.amazon.com/上发帖,但这不是 bueno。

在此处输入图片说明

AWS日期为 2017 年 5 月 16 日的文档特别指出 Athena 不支持 GLACIER 存储类:

Athena 不支持 LOCATION 子句指定的存储桶内的不同存储类,不支持 GLACIER 存储类,也不支持 Requester Pays 存储桶。 有关更多信息,请参阅存储类在 |S3| 中更改对象的存储类和 Amazon Simple Storage Service 开发人员指南中的请求者支付存储

我们也对此感兴趣; 如果你让它工作,请告诉我们如何。 :-)

2019 年 2 月 18 日发布以来 Athena 将忽略具有 GLACIER 存储类的对象,而不是使查询失败:

[…] 作为解决此问题的结果,Athena 会忽略转换到 GLACIER 存储类的对象。 Athena 不支持从 GLACIER 存储类查询数据。

您必须有一个 S3 存储桶才能使用。 此外,您用于启动 S3 Glacier Select 作业的 AWS 账户必须具有 S3 存储桶的写入权限。 Amazon S3 存储桶必须与包含正在查询的存档对象的文件库位于同一 AWS 区域中。

S3 Glacier select 运行查询并存储在 S3 存储桶中

最重要的是,您必须将数据移动到 S3 buck 中才能使用 S3 冰川选择语句。 然后在“新”S3 存储桶上使用 Athena。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM