从雅典娜查询执行 ID 获取输出位置



我有某个雅典娜查询的查询执行ID。我想获取此查询的输出位置。我知道我可以使用 java aws sdk 中的查询执行 ID 获取结果。我使用我的 aws 凭证创建了名为 'athenaClient' 的 athena 客户端对象,该对象属于 AmazonAthena 类。

GetQueryResultsRequest getQueryResultsRequest = new 
GetQueryResultsRequest().withExecutionId(execId);
GetQueryResultsResult getQueryResultsResult = 
athenaClient.getQueryResults(getQueryResultsRequest);

使用此getQueryResultsResult,我可以获取查询结果。但是我想通过雅典娜查询执行 ID 获取输出位置。

我对 Java SDK 没有那么深入,但可以通过 getQueryExecution 方法检索结果的位置。

所以它应该是这样的:

GetQueryExecutionResult result = athenaClient.getQueryExecution(GetQueryExecutionRequest().withExecutionId(execId));
QueryExecution exec = result.getQueryExecution();
ResultConfiguration config = exec.getResultConfiguration();

查询执行 - AWS Java 开发工具包

结果配置 - AWS Java 开发工具包

嗨,

我创建了一个简单的 API SDK,您可以在

https://github.com/fulmicotone/aws-java-athena-helper

欢迎每一个改进,谢谢

  MyAthena.Builder.standard(ATHENA_DEFAULT_DATABASE,ATHENA_OUTPUT_BUCKET)
 .build()
 .newQuery(ATHENA_SAMPLE_QUERY)
 .submit()
 .waitForQueryToComplete()
 .processResultRows(5, new Consumer<AthenaPageResults>() {
     @Override
     public void accept(AthenaPageResults athenaPageResults) {
         System.out.println("page:"+athenaPageResults.getPage());
     }
 });

最新更新