[英]Amazon AWS Athena S3 and Glacier Mixed Bucket
我们在 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 存储桶是一个没有文件夹的扁平存储桶。
屏幕截图中省略了上面和下面屏幕截图中显示的 S3 文件对象名称。 HIVE_CURSOR_ERROR
的文件引用实际上是 Glacier 对象。 您可以在我们 S3 Bucket 的这个屏幕截图中看到它。
请注意,我尝试在https://forums.aws.amazon.com/上发帖,但这不是 bueno。
自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.