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

x33g5p2x  于2022-01-28 转载在 其他  
字(7.8k)|赞(0)|评价(0)|浏览(116)

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

QueryManager.createQuery介绍

[英]Creates a new query. This method may be called multiple times for the same query id. The the first call will be accepted, and the other calls will be ignored.
[中]创建一个新查询。对于同一查询id,可以多次调用此方法。第一次调用将被接受,其他调用将被忽略。

代码示例

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

private synchronized void submitQuery()
{
  if (querySubmissionFuture != null) {
    return;
  }
  querySubmissionFuture = queryManager.createQuery(queryId, sessionContext, this.query);
  Futures.addCallback(querySubmissionFuture, new FutureCallback<Object>()
  {
    @Override
    public void onSuccess(Object result)
    {
      set(null);
    }
    @Override
    public void onFailure(Throwable t)
    {
      setException(t);
    }
  }, directExecutor());
}

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

@Test(timeOut = 60_000L)
  public void testLegacyQueryContext()
      throws Exception
  {
    QueryManager queryManager = queryRunner.getCoordinator().getQueryManager();

    QueryId queryId = queryManager.createQueryId();
    queryManager.createQuery(
        queryId,
        new TestingSessionContext(TEST_SESSION),
        "SELECT * FROM lineitem")
        .get();

    waitForQueryState(queryRunner, queryId, RUNNING);

    // cancel query
    queryManager.failQuery(queryId, new PrestoException(GENERIC_INTERNAL_ERROR, "mock exception"));

    // assert that LegacyQueryContext is used instead of the DefaultQueryContext
    SqlTaskManager taskManager = (SqlTaskManager) queryRunner.getServers().get(0).getTaskManager();
    assertInstanceOf(taskManager.getQueryContext(queryId), LegacyQueryContext.class);
  }
}

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

@Test
public void testMetadataIsClearedAfterQueryCanceled()
    throws Exception
{
  QueryManager queryManager = queryRunner.getCoordinator().getQueryManager();
  QueryId queryId = queryManager.createQueryId();
  queryManager.createQuery(
      queryId,
      new TestingSessionContext(TEST_SESSION),
      "SELECT * FROM lineitem")
      .get();
  // wait until query starts running
  while (true) {
    QueryInfo queryInfo = queryManager.getFullQueryInfo(queryId);
    if (queryInfo.getState().isDone()) {
      assertEquals(queryInfo.getState(), FAILED);
      throw queryInfo.getFailureInfo().toException();
    }
    if (queryInfo.getState() == RUNNING) {
      break;
    }
    Thread.sleep(100);
  }
  // cancel query
  queryManager.cancelQuery(queryId);
  assertEquals(metadataManager.getCatalogsByQueryId().size(), 0);
}

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

public static QueryId createQuery(DistributedQueryRunner queryRunner, Session session, String sql)
{
  QueryManager queryManager = queryRunner.getCoordinator().getQueryManager();
  getFutureValue(queryManager.createQuery(session.getQueryId(), new TestingSessionContext(session), sql));
  return session.getQueryId();
}

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

@Test(timeOut = 60_000L)
public void testFailQuery()
    throws Exception
{
  QueryManager queryManager = queryRunner.getCoordinator().getQueryManager();
  QueryId queryId = queryManager.createQueryId();
  queryManager.createQuery(
      queryId,
      new TestingSessionContext(TEST_SESSION),
      "SELECT * FROM lineitem")
      .get();
  // wait until query starts running
  while (true) {
    QueryState state = queryManager.getQueryState(queryId);
    if (state.isDone()) {
      fail("unexpected query state: " + state);
    }
    if (state == RUNNING) {
      break;
    }
    Thread.sleep(100);
  }
  // cancel query
  queryManager.failQuery(queryId, new PrestoException(GENERIC_INTERNAL_ERROR, "mock exception"));
  QueryInfo queryInfo = queryManager.getFullQueryInfo(queryId);
  assertEquals(queryInfo.getState(), FAILED);
  assertEquals(queryInfo.getErrorCode(), GENERIC_INTERNAL_ERROR.toErrorCode());
  assertNotNull(queryInfo.getFailureInfo());
  assertEquals(queryInfo.getFailureInfo().getMessage(), "mock exception");
}

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

public Query(Session session,
    String query,
    QueryManager queryManager,
    ExchangeClient exchangeClient)
{
  requireNonNull(session, "session is null");
  requireNonNull(query, "query is null");
  requireNonNull(queryManager, "queryManager is null");
  requireNonNull(exchangeClient, "exchangeClient is null");
  this.session = session;
  this.queryManager = queryManager;
  QueryInfo queryInfo = queryManager.createQuery(session, query);
  queryId = queryInfo.getQueryId();
  this.exchangeClient = exchangeClient;
}

代码示例来源:origin: com.facebook.presto/presto-tests

@Test(timeOut = 60_000L)
  public void testLegacyQueryContext()
      throws Exception
  {
    QueryManager queryManager = queryRunner.getCoordinator().getQueryManager();

    QueryId queryId = queryManager.createQueryId();
    queryManager.createQuery(
        queryId,
        new TestingSessionContext(TEST_SESSION),
        "SELECT * FROM lineitem")
        .get();

    waitForQueryState(queryRunner, queryId, RUNNING);

    // cancel query
    queryManager.failQuery(queryId, new PrestoException(GENERIC_INTERNAL_ERROR, "mock exception"));

    // assert that LegacyQueryContext is used instead of the DefaultQueryContext
    SqlTaskManager taskManager = (SqlTaskManager) queryRunner.getServers().get(0).getTaskManager();
    assertInstanceOf(taskManager.getQueryContext(queryId), LegacyQueryContext.class);
  }
}

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

@POST
@Produces(MediaType.APPLICATION_JSON)
public Response createQuery(
    String statement,
    @Context HttpServletRequest servletRequest,
    @Context UriInfo uriInfo)
{
  assertRequest(!isNullOrEmpty(statement), "SQL statement is empty");
  Session session = createSessionForRequest(servletRequest, accessControl, sessionPropertyManager, queryIdGenerator.createNextQueryId());
  QueryInfo queryInfo = queryManager.createQuery(session, statement);
  URI pagesUri = uriBuilderFrom(uriInfo.getRequestUri()).appendPath(queryInfo.getQueryId().toString()).build();
  return Response.created(pagesUri).entity(queryInfo).build();
}

代码示例来源:origin: com.facebook.presto/presto-tests

@Test
public void testMetadataIsClearedAfterQueryCanceled()
    throws Exception
{
  QueryManager queryManager = queryRunner.getCoordinator().getQueryManager();
  QueryId queryId = queryManager.createQueryId();
  queryManager.createQuery(
      queryId,
      new TestingSessionContext(TEST_SESSION),
      "SELECT * FROM lineitem")
      .get();
  // wait until query starts running
  while (true) {
    QueryInfo queryInfo = queryManager.getFullQueryInfo(queryId);
    if (queryInfo.getState().isDone()) {
      assertEquals(queryInfo.getState(), FAILED);
      throw queryInfo.getFailureInfo().toException();
    }
    if (queryInfo.getState() == RUNNING) {
      break;
    }
    Thread.sleep(100);
  }
  // cancel query
  queryManager.cancelQuery(queryId);
  assertEquals(metadataManager.getCatalogsByQueryId().size(), 0);
}

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

private static QueryId createQuery(DistributedQueryRunner queryRunner, Session session, String sql)
{
  return queryRunner.getCoordinator().getQueryManager().createQuery(session, sql).getQueryId();
}

代码示例来源:origin: com.facebook.presto/presto-tests

@Test(timeOut = 60_000L)
public void testFailQuery()
    throws Exception
{
  QueryManager queryManager = queryRunner.getCoordinator().getQueryManager();
  QueryId queryId = queryManager.createQueryId();
  queryManager.createQuery(
      queryId,
      new TestingSessionContext(TEST_SESSION),
      "SELECT * FROM lineitem")
      .get();
  // wait until query starts running
  while (true) {
    QueryState state = queryManager.getQueryState(queryId);
    if (state.isDone()) {
      fail("unexpected query state: " + state);
    }
    if (state == RUNNING) {
      break;
    }
    Thread.sleep(100);
  }
  // cancel query
  queryManager.failQuery(queryId, new PrestoException(GENERIC_INTERNAL_ERROR, "mock exception"));
  QueryInfo queryInfo = queryManager.getFullQueryInfo(queryId);
  assertEquals(queryInfo.getState(), FAILED);
  assertEquals(queryInfo.getErrorCode(), GENERIC_INTERNAL_ERROR.toErrorCode());
  assertNotNull(queryInfo.getFailureInfo());
  assertEquals(queryInfo.getFailureInfo().getMessage(), "mock exception");
}

代码示例来源:origin: com.facebook.presto/presto-tests

public static QueryId createQuery(DistributedQueryRunner queryRunner, Session session, String sql)
{
  QueryManager queryManager = queryRunner.getCoordinator().getQueryManager();
  getFutureValue(queryManager.createQuery(session.getQueryId(), new TestingSessionContext(session), sql));
  return session.getQueryId();
}

相关文章