Я использую AWSElasticMapReduceJavaClient-1.11.x, и максимальное количество кластеров, которые EMR может завершить за один раз, равно 10. Как бы я мог завершить запрос с помощью, скажем, 100 кластеров за один terminateJobFlows
вызов?Я реализую интерфейс AmazonElasticMapReduce
, поэтому этот метод необходимо переопределить и вернуть TerminateJobFlowsResult
.К сожалению, это не обратно совместимо с версией 1.10, поскольку terminateJobFlows
был пустым методом, но теперь он возвращает результат.
@Override
public TerminateJobFlowsResult terminateJobFlows(TerminateJobFlowsRequest request) {
List<List<String>> distributedClusterIds = Lists.partition(request.getJobFlowIds(), 10);
distributedClusterIds.stream()
.map(TerminateJobFlowsRequest::new)
.forEach(request -> {
emrClient.terminateJobFlows(request); // returns a TerminateJobFlowsResult
// How to return each result somehow??
});
}