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


Java FragmentContext.isImpersonationEnabled方法代码示例

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


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

示例1: getRootExec

import org.apache.drill.exec.ops.FragmentContext; //导入方法依赖的package包/类
/** Create RootExec and its children (RecordBatches) for given FragmentRoot */
private RootExec getRootExec(final FragmentRoot root, final FragmentContext context) throws ExecutionSetupException {
  final List<RecordBatch> childRecordBatches = getChildren(root, context);

  if (context.isImpersonationEnabled()) {
    final UserGroupInformation proxyUgi = ImpersonationUtil.createProxyUgi(root.getUserName(), context.getQueryUserName());
    try {
      return proxyUgi.doAs(new PrivilegedExceptionAction<RootExec>() {
        @Override
        public RootExec run() throws Exception {
          return ((RootCreator<PhysicalOperator>) getOpCreator(root, context)).getRoot(context, root, childRecordBatches);
        }
      });
    } catch (InterruptedException | IOException e) {
      final String errMsg = String.format("Failed to create RootExec for operator with id '%d'", root.getOperatorId());
      logger.error(errMsg, e);
      throw new ExecutionSetupException(errMsg, e);
    }
  } else {
    return ((RootCreator<PhysicalOperator>) getOpCreator(root, context)).getRoot(context, root, childRecordBatches);
  }
}
 
开发者ID:skhalifa,项目名称:QDrill,代码行数:23,代码来源:ImplCreator.java


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