You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用aws-java-sdk 1.x版本获取Athena查询扫描的数据量

AWS Java SDK 1.x 获取Athena查询扫描数据量实现方案

你正在使用的1.11.573版本已经原生支持该指标获取,不需要升级SDK,具体实现逻辑如下:

实现逻辑

你轮询查询状态时使用的GetQueryExecutionRequest接口返回结果中,已包含查询执行的统计数据,扫描数据量字段就在该统计数据中,无需额外调用其他接口。查询状态变为SUCCEEDED后即可直接读取该指标。

代码修改示例

在你原有代码的Awaitility轮询结束之后,添加如下代码即可获取:

// 获取查询执行详情
GetQueryExecutionResult executionResult = amazonAthena.getQueryExecution(queryStatusRequest)
def statistics = executionResult.getQueryExecution().getStatistics()
// 扫描数据量,单位为字节
Long scannedBytes = statistics.getDataScannedInBytes()
// 可选:获取查询引擎执行耗时,单位为毫秒
Long executionTimeMillis = statistics.getEngineExecutionTimeInMillis()

// 日志记录示例(按需修改为你项目的日志实现即可)
log.info("Athena查询[{}]执行完成,扫描数据量:{}字节,执行耗时:{}ms", 
         queryExecutionId, scannedBytes, executionTimeMillis)

注意事项

  • 仅当查询状态为SUCCEEDED时,该扫描数据量值为最终准确值,查询失败、取消状态下该值可能为空或仅返回部分扫描数据
  • 该值与Athena控制台展示的扫描数据量完全一致,同时也是Athena服务的计费统计依据

内容的提问来源于stack exchange,提问作者Kramer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 21:45:07