com.facebook.presto.execution.QueryStateMachine.setInputs()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(4.0k)|赞(0)|评价(0)|浏览(76)

本文整理了Java中com.facebook.presto.execution.QueryStateMachine.setInputs方法的一些代码示例,展示了QueryStateMachine.setInputs的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。QueryStateMachine.setInputs方法的具体详情如下:
包路径:com.facebook.presto.execution.QueryStateMachine
类名称:QueryStateMachine
方法名:setInputs

QueryStateMachine.setInputs介绍

暂无

代码示例

代码示例来源:origin: prestodb/presto

private QueryStateMachine createQueryStateMachineWithTicker(Ticker ticker)
{
  Metadata metadata = MetadataManager.createTestMetadataManager();
  TransactionManager transactionManager = createTestTransactionManager();
  AccessControl accessControl = new AccessControlManager(transactionManager);
  QueryStateMachine stateMachine = QueryStateMachine.beginWithTicker(
      QUERY,
      TEST_SESSION,
      LOCATION,
      new ResourceGroupId("test"),
      false,
      transactionManager,
      accessControl,
      executor,
      ticker,
      metadata,
      WarningCollector.NOOP);
  stateMachine.setInputs(INPUTS);
  stateMachine.setOutput(OUTPUT);
  stateMachine.setColumns(OUTPUT_FIELD_NAMES, OUTPUT_FIELD_TYPES);
  stateMachine.setUpdateType(UPDATE_TYPE);
  stateMachine.setMemoryPool(MEMORY_POOL);
  for (Entry<String, String> entry : SET_SESSION_PROPERTIES.entrySet()) {
    stateMachine.addSetSessionProperties(entry.getKey(), entry.getValue());
  }
  RESET_SESSION_PROPERTIES.forEach(stateMachine::addResetSessionProperties);
  return stateMachine;
}

代码示例来源:origin: prestodb/presto

private PlanRoot doAnalyzeQuery()
{
  // time analysis phase
  stateMachine.beginAnalysis();
  // plan query
  PlanNodeIdAllocator idAllocator = new PlanNodeIdAllocator();
  LogicalPlanner logicalPlanner = new LogicalPlanner(stateMachine.getSession(), planOptimizers, idAllocator, metadata, sqlParser, statsCalculator, costCalculator, stateMachine.getWarningCollector());
  Plan plan = logicalPlanner.plan(analysis);
  queryPlan.set(plan);
  // extract inputs
  List<Input> inputs = new InputExtractor(metadata, stateMachine.getSession()).extractInputs(plan.getRoot());
  stateMachine.setInputs(inputs);
  // extract output
  Optional<Output> output = new OutputExtractor().extractOutput(plan.getRoot());
  stateMachine.setOutput(output);
  // fragment the plan
  SubPlan fragmentedPlan = planFragmenter.createSubPlans(stateMachine.getSession(), plan, false);
  // record analysis time
  stateMachine.endAnalysis();
  boolean explainAnalyze = analysis.getStatement() instanceof Explain && ((Explain) analysis.getStatement()).isAnalyze();
  return new PlanRoot(fragmentedPlan, !explainAnalyze, extractConnectors(analysis));
}

代码示例来源:origin: uk.co.nichesolutions.presto/presto-main

private QueryStateMachine createQueryStateMachine()
{
  TransactionManager transactionManager = createTestTransactionManager();
  QueryStateMachine stateMachine = QueryStateMachine.begin(QUERY_ID, QUERY, TEST_SESSION, LOCATION, false, transactionManager, executor);
  stateMachine.setInputs(INPUTS);
  stateMachine.setOutputFieldNames(OUTPUT_FIELD_NAMES);
  stateMachine.setUpdateType(UPDATE_TYPE);
  stateMachine.setMemoryPool(MEMORY_POOL);
  for (Entry<String, String> entry : SET_SESSION_PROPERTIES.entrySet()) {
    stateMachine.addSetSessionProperties(entry.getKey(), entry.getValue());
  }
  RESET_SESSION_PROPERTIES.forEach(stateMachine::addResetSessionProperties);
  return stateMachine;
}

代码示例来源:origin: uk.co.nichesolutions.presto/presto-main

private SubPlan doAnalyzeQuery()
{
  // time analysis phase
  long analysisStart = System.nanoTime();
  // analyze query
  Analyzer analyzer = new Analyzer(stateMachine.getSession(), metadata, sqlParser, accessControl, Optional.of(queryExplainer), experimentalSyntaxEnabled);
  Analysis analysis = analyzer.analyze(statement);
  stateMachine.setUpdateType(analysis.getUpdateType());
  // plan query
  PlanNodeIdAllocator idAllocator = new PlanNodeIdAllocator();
  LogicalPlanner logicalPlanner = new LogicalPlanner(stateMachine.getSession(), planOptimizers, idAllocator, metadata);
  Plan plan = logicalPlanner.plan(analysis);
  // extract inputs
  List<Input> inputs = new InputExtractor(metadata, stateMachine.getSession()).extract(plan.getRoot());
  stateMachine.setInputs(inputs);
  // fragment the plan
  SubPlan subplan = new PlanFragmenter().createSubPlans(plan);
  // record analysis time
  stateMachine.recordAnalysisTime(analysisStart);
  return subplan;
}

相关文章

微信公众号

最新文章

更多