简体   繁体   English

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

[英]How do I get the data scanned by an Athena query using the aws-java-sdk version 1?

I'm using the aws-java-sdk version 1.11.573 to make calls to Athena to execute queries using Groovy:我正在使用 aws-java-sdk 版本 1.11.573 调用 Athena 以使用 Groovy 执行查询:

        def queryExecutionContext = new QueryExecutionContext().withDatabase(AthenaConstants.ATHENA_DATABASE)
        def resultConfiguration = new ResultConfiguration().withOutputLocation("s3://${resultBucket}")
        def startQueryExecutionRequest = new StartQueryExecutionRequest()
            .withQueryString(query)
            .withQueryExecutionContext(queryExecutionContext)
            .withResultConfiguration(resultConfiguration)

        def startQueryExecutionResult = amazonAthena.startQueryExecution(startQueryExecutionRequest)

def queryExecutionId = startQueryExecutionResult.getQueryExecutionId()
        def queryStatusRequest = new GetQueryExecutionRequest().withQueryExecutionId(queryExecutionId)
        Awaitility.await("Athena query ${queryExecutionId}")
                  .pollInterval(new org.awaitility.Duration(pollingPeriod.toMillis(), TimeUnit.MILLISECONDS))
                  .atMost(timeout.toMillis(), TimeUnit.MILLISECONDS)
                  .until { hasQuerySucceeded(queryStatusRequest) }
        def getQueryResultsRequest = new GetQueryResultsRequest().withQueryExecutionId(queryExecutionId)
        GetQueryResultsResult getQueryResultsResult = amazonAthena.getQueryResults(getQueryResultsRequest)
List<Row> results = getQueryResultsResult.getResultSet().getRows()

And I would like to get the amount of data scanned so that I can log it as a metric so that it can be easily monitored.我想获得扫描的数据量,以便我可以将其记录为指标,以便可以轻松监控。

I believe it is pretty straightforward to do with gversion 2, but I can't really upgrade at the moment.我相信使用 gversion 2 非常简单,但我目前无法真正升级。

Does anyone know how to get that metric?有谁知道如何获得该指标?

Thanks!谢谢!

Java V1 is not the recommended way to use the SDK. Java V1 不是使用 SDK 的推荐方式。 However, you can refer to this very old example here:但是,您可以在此处参考这个非常古老的示例:

https://github.com/aws-doc-sdk-examples/blob/main/java/example_code/athena/src/main/java/aws/example/athena/StartQueryExample.java https://github.com/aws-doc-sdk-examples/blob/main/java/example_code/athena/src/main/java/aws/example/athena/StartQueryExample.java

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

相关问题 如何使用 aws-java-sdk 获取亚马逊 Web 服务中某个区域的所有可用图像的列表? - how to get list of all available images for a region in amazon web services using aws-java-sdk? 如何使用 spring-cloud-aws-messaging 或 aws-java-sdk 设置 AWS SNS 消息属性值? - How do I set AWS SNS message attribute values with spring-cloud-aws-messaging or aws-java-sdk? aws-java-sdk获取非AWS环境的临时凭据 - aws-java-sdk get temporary credentials for non aws environment 如何通过aws-java-sdk创建AWS默认VPC - How to create AWS default VPC through aws-java-sdk 如何使用 aws-java-sdk 2.0 删除非空 S3 存储桶 - How to delete non empty S3 bucket using aws-java-sdk 2.0 如何使用aws-java-sdk从S3逐块读取文件 - How to read file chunk by chunk from S3 using aws-java-sdk 为什么CloudFrontUrlSigner是aws-java-sdk中的枚举 - Why CloudFrontUrlSigner is an enum in aws-java-sdk Maven AWS-Java-SDK和AWS-Android-SDK冲突 - Maven aws-java-sdk and aws-android-sdk conflict 使用 Maven 为 Java 添加 AWS SDK 时,无法读取 com.amazonaws:aws-java-sdk:jar:1.12.169 的工件描述符 - Failed to read artifact descriptor for com.amazonaws:aws-java-sdk:jar:1.12.169 when adding the AWS SDK for Java using Maven 添加 aws-java-sdk 会中断 spring 引导 tomcat 加载 - Adding aws-java-sdk breaks spring boot tomcat loading
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM