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


Java GetApplicationsRequest.getApplicationTypes方法代码示例

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


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

示例1: getApplicationReports

import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationsRequest; //导入方法依赖的package包/类
private GetApplicationsResponse getApplicationReports(
    List<ApplicationReport> applicationReports,
    GetApplicationsRequest request) {

  List<ApplicationReport> appReports = new ArrayList<ApplicationReport>();
  Set<String> appTypes = request.getApplicationTypes();
  boolean bypassFilter = appTypes.isEmpty();

  for (ApplicationReport appReport : applicationReports) {
    if (!(bypassFilter || appTypes.contains(
        appReport.getApplicationType()))) {
      continue;
    }
    appReports.add(appReport);
  }
  GetApplicationsResponse response =
      GetApplicationsResponse.newInstance(appReports);
  return response;
}
 
开发者ID:ict-carch,项目名称:hadoop-plus,代码行数:20,代码来源:TestYarnClient.java

示例2: getApplications

import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationsRequest; //导入方法依赖的package包/类
@Override
public GetApplicationsResponse getApplications(
    GetApplicationsRequest request) throws YarnException {

  UserGroupInformation callerUGI;
  try {
    callerUGI = UserGroupInformation.getCurrentUser();
  } catch (IOException ie) {
    LOG.info("Error getting UGI ", ie);
    throw RPCUtil.getRemoteException(ie);
  }

  Set<String> applicationTypes = request.getApplicationTypes();
  boolean bypassFilter = applicationTypes.isEmpty();
  List<ApplicationReport> reports = new ArrayList<ApplicationReport>();
  for (RMApp application : this.rmContext.getRMApps().values()) {
    if (!(bypassFilter || applicationTypes.contains(application
        .getApplicationType()))) {
      continue;
    }
    boolean allowAccess = checkAccess(callerUGI, application.getUser(),
        ApplicationAccessType.VIEW_APP, application.getApplicationId());
    reports.add(application.createAndGetApplicationReport(allowAccess));
  }

  GetApplicationsResponse response =
    recordFactory.newRecordInstance(GetApplicationsResponse.class);
  response.setApplicationList(reports);
  return response;
}
 
开发者ID:ict-carch,项目名称:hadoop-plus,代码行数:31,代码来源:ClientRMService.java

示例3: getApplications

import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationsRequest; //导入方法依赖的package包/类
@Override
public GetApplicationsResponse getApplications(
    GetApplicationsRequest request) throws YarnException {
  UserGroupInformation callerUGI;
  try {
    callerUGI = UserGroupInformation.getCurrentUser();
  } catch (IOException ie) {
    LOG.info("Error getting UGI ", ie);
    throw RPCUtil.getRemoteException(ie);
  }

  Set<String> applicationTypes = request.getApplicationTypes();
  EnumSet<YarnApplicationState> applicationStates =
      request.getApplicationStates();

  List<ApplicationReport> reports = new ArrayList<ApplicationReport>();
  for (RMApp application : this.rmContext.getRMApps().values()) {
    if (applicationTypes != null && !applicationTypes.isEmpty()) {
      if (!applicationTypes.contains(application.getApplicationType())) {
        continue;
      }
    }

    if (applicationStates != null && !applicationStates.isEmpty()) {
      if (!applicationStates.contains(application
          .createApplicationState())) {
        continue;
      }
    }
    boolean allowAccess = checkAccess(callerUGI, application.getUser(),
        ApplicationAccessType.VIEW_APP, application);
    reports.add(application.createAndGetApplicationReport(
        callerUGI.getUserName(), allowAccess));
  }

  GetApplicationsResponse response =
    recordFactory.newRecordInstance(GetApplicationsResponse.class);
  response.setApplicationList(reports);
  return response;
}
 
开发者ID:chendave,项目名称:hadoop-TCP,代码行数:41,代码来源:ClientRMService.java


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