当前位置: 首页>>代码示例>>Java>>正文


Java GetApplicationsRequest.setStartRange方法代码示例

本文整理汇总了Java中org.apache.hadoop.yarn.api.protocolrecords.GetApplicationsRequest.setStartRange方法的典型用法代码示例。如果您正苦于以下问题:Java GetApplicationsRequest.setStartRange方法的具体用法?Java GetApplicationsRequest.setStartRange怎么用?Java GetApplicationsRequest.setStartRange使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.hadoop.yarn.api.protocolrecords.GetApplicationsRequest的用法示例。


在下文中一共展示了GetApplicationsRequest.setStartRange方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: testGetApplicationsRequest

import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationsRequest; //导入方法依赖的package包/类
@Test
public void testGetApplicationsRequest(){
  GetApplicationsRequest request = GetApplicationsRequest.newInstance();
  
  EnumSet<YarnApplicationState> appStates = 
    EnumSet.of(YarnApplicationState.ACCEPTED);
  request.setApplicationStates(appStates);
  
  Set<String> tags = new HashSet<String>();
  tags.add("tag1");
  request.setApplicationTags(tags);
  
  Set<String> types = new HashSet<String>();
  types.add("type1");
  request.setApplicationTypes(types);
  
  long startBegin = System.currentTimeMillis();
  long startEnd = System.currentTimeMillis() + 1;
  request.setStartRange(startBegin, startEnd);
  long finishBegin = System.currentTimeMillis() + 2;
  long finishEnd = System.currentTimeMillis() + 3;
  request.setFinishRange(finishBegin, finishEnd);
  
  long limit = 100L;
  request.setLimit(limit);
  
  Set<String> queues = new HashSet<String>();
  queues.add("queue1");
  request.setQueues(queues);
  
  
  Set<String> users = new HashSet<String>();
  users.add("user1");
  request.setUsers(users);
  
  ApplicationsRequestScope scope = ApplicationsRequestScope.ALL;
  request.setScope(scope);
  
  GetApplicationsRequest requestFromProto = new GetApplicationsRequestPBImpl(
      ((GetApplicationsRequestPBImpl)request).getProto());
  
  // verify the whole record equals with original record
  Assert.assertEquals(requestFromProto, request);

  // verify all properties are the same as original request
  Assert.assertEquals(
      "ApplicationStates from proto is not the same with original request",
      requestFromProto.getApplicationStates(), appStates);
  
  Assert.assertEquals(
      "ApplicationTags from proto is not the same with original request",
      requestFromProto.getApplicationTags(), tags);
  
  Assert.assertEquals(
      "ApplicationTypes from proto is not the same with original request",
      requestFromProto.getApplicationTypes(), types);
  
  Assert.assertEquals(
      "StartRange from proto is not the same with original request",
      requestFromProto.getStartRange(), new LongRange(startBegin, startEnd));
  
  Assert.assertEquals(
      "FinishRange from proto is not the same with original request",
      requestFromProto.getFinishRange(), new LongRange(finishBegin, finishEnd));
  
  Assert.assertEquals(
      "Limit from proto is not the same with original request",
      requestFromProto.getLimit(), limit);
  
  Assert.assertEquals(
      "Queues from proto is not the same with original request",
      requestFromProto.getQueues(), queues);
  
  Assert.assertEquals(
      "Users from proto is not the same with original request",
      requestFromProto.getUsers(), users);
}
 
开发者ID:naver,项目名称:hadoop,代码行数:78,代码来源:TestGetApplicationsRequest.java

示例2: fetchData

import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationsRequest; //导入方法依赖的package包/类
protected void fetchData() throws YarnException, IOException,
    InterruptedException {
  reqAppStates = EnumSet.noneOf(YarnApplicationState.class);
  String reqStateString = $(APP_STATE);
  if (reqStateString != null && !reqStateString.isEmpty()) {
    String[] appStateStrings = reqStateString.split(",");
    for (String stateString : appStateStrings) {
      reqAppStates.add(YarnApplicationState.valueOf(stateString.trim()));
    }
  }
  callerUGI = getCallerUGI();
  final GetApplicationsRequest request =
      GetApplicationsRequest.newInstance(reqAppStates);
  String appsNumStr = $(APPS_NUM);
  if (appsNumStr != null && !appsNumStr.isEmpty()) {
    long appsNum = Long.parseLong(appsNumStr);
    request.setLimit(appsNum);
  }

  String appStartedTimeBegainStr = $(APP_START_TIME_BEGIN);
  long appStartedTimeBegain = 0;
  if (appStartedTimeBegainStr != null && !appStartedTimeBegainStr.isEmpty()) {
    appStartedTimeBegain = Long.parseLong(appStartedTimeBegainStr);
    if (appStartedTimeBegain < 0) {
      throw new BadRequestException(
        "app.started-time.begin must be greater than 0");
    }
  }
  String appStartedTimeEndStr = $(APP_START_TIME_END);
  long appStartedTimeEnd = Long.MAX_VALUE;
  if (appStartedTimeEndStr != null && !appStartedTimeEndStr.isEmpty()) {
    appStartedTimeEnd = Long.parseLong(appStartedTimeEndStr);
    if (appStartedTimeEnd < 0) {
      throw new BadRequestException(
        "app.started-time.end must be greater than 0");
    }
  }
  if (appStartedTimeBegain > appStartedTimeEnd) {
    throw new BadRequestException(
      "app.started-time.end must be greater than app.started-time.begin");
  }
  request.setStartRange(
      new LongRange(appStartedTimeBegain, appStartedTimeEnd));

  if (callerUGI == null) {
    appReports = appBaseProt.getApplications(request).getApplicationList();
  } else {
    appReports =
        callerUGI
          .doAs(new PrivilegedExceptionAction<Collection<ApplicationReport>>() {
            @Override
            public Collection<ApplicationReport> run() throws Exception {
              return appBaseProt.getApplications(request)
                .getApplicationList();
            }
          });
  }
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:59,代码来源:AppsBlock.java


注:本文中的org.apache.hadoop.yarn.api.protocolrecords.GetApplicationsRequest.setStartRange方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。