org.apache.druid.query.Query.withOverriddenContext()方法的使用及代码示例

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

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

Query.withOverriddenContext介绍

暂无

代码示例

代码示例来源:origin: apache/incubator-druid

public static <T> Query<T> withDefaultTimeout(Query<T> query, long defaultTimeout)
{
 return query.withOverriddenContext(ImmutableMap.of(QueryContexts.DEFAULT_TIMEOUT_KEY, defaultTimeout));
}

代码示例来源:origin: apache/incubator-druid

public static <T> Query<T> withTimeout(Query<T> query, long timeout)
{
 return query.withOverriddenContext(ImmutableMap.of(TIMEOUT_KEY, timeout));
}

代码示例来源:origin: apache/incubator-druid

/**
 * Equivalent of withQuery(getQuery().withOverriddenContext(ImmutableMap.of(MAX_QUEUED_BYTES_KEY, maxQueuedBytes))).
 */
public QueryPlus<T> withMaxQueuedBytes(long maxQueuedBytes)
{
 return new QueryPlus<>(
   query.withOverriddenContext(ImmutableMap.of(QueryContexts.MAX_QUEUED_BYTES_KEY, maxQueuedBytes)),
   queryMetrics,
   identity
 );
}

代码示例来源:origin: apache/incubator-druid

@Override
public MaterializedViewQuery withOverriddenContext(Map<String, Object> contextOverride) 
{
 return new MaterializedViewQuery(query.withOverriddenContext(contextOverride), optimizer);
}

代码示例来源:origin: apache/incubator-druid

private Query<?> readQuery(
  final HttpServletRequest req,
  final InputStream in,
  final ResponseContext context
) throws IOException
{
 Query baseQuery = getMapperForRequest(req.getContentType()).readValue(in, Query.class);
 String prevEtag = getPreviousEtag(req);
 if (prevEtag != null) {
  baseQuery = baseQuery.withOverriddenContext(
    ImmutableMap.of(HEADER_IF_NONE_MATCH, prevEtag)
  );
 }
 return baseQuery;
}

代码示例来源:origin: apache/incubator-druid

public static <T> Query<T> withMaxScatterGatherBytes(Query<T> query, long maxScatterGatherBytesLimit)
{
 Object obj = query.getContextValue(MAX_SCATTER_GATHER_BYTES_KEY);
 if (obj == null) {
  return query.withOverriddenContext(ImmutableMap.of(MAX_SCATTER_GATHER_BYTES_KEY, maxScatterGatherBytesLimit));
 } else {
  long curr = ((Number) obj).longValue();
  if (curr > maxScatterGatherBytesLimit) {
   throw new IAE(
     "configured [%s = %s] is more than enforced limit of [%s].",
     MAX_SCATTER_GATHER_BYTES_KEY,
     curr,
     maxScatterGatherBytesLimit
   );
  } else {
   return query;
  }
 }
}

代码示例来源:origin: apache/incubator-druid

public Query<T> withTimeoutAndMaxScatterGatherBytes(Query<T> query, ServerConfig serverConfig)
 {
  Query<T> newQuery = QueryContexts.verifyMaxQueryTimeout(
    QueryContexts.withMaxScatterGatherBytes(
      QueryContexts.withDefaultTimeout(
        query,
        Math.min(serverConfig.getDefaultQueryTimeout(), serverConfig.getMaxQueryTimeout())
      ),
      serverConfig.getMaxScatterGatherBytes()
    ),
    serverConfig.getMaxQueryTimeout()
  );
  return newQuery.withOverriddenContext(ImmutableMap.of(DirectDruidClient.QUERY_FAIL_TIME, this.startTimeMillis + QueryContexts.getTimeout(newQuery)));
 }
}

代码示例来源:origin: apache/incubator-druid

subquery = (GroupByQuery) ((QueryDataSource) dataSource).getQuery().withOverriddenContext(subqueryContext);

代码示例来源:origin: apache/incubator-druid

queryPlus.withQuery(
  queryPlus.getQuery()
       .withOverriddenContext(
         ImmutableMap.of(TimeseriesQuery.CTX_GRAND_TOTAL, false)

代码示例来源:origin: apache/incubator-druid

@Override
 public Sequence<T> run(final QueryPlus<T> queryPlus, Map<String, Object> responseContext)
 {
  DataSource dataSource = queryPlus.getQuery().getDataSource();
  boolean forcePushDownNestedQuery = queryPlus.getQuery()
                        .getContextBoolean(
                          GroupByQueryConfig.CTX_KEY_FORCE_PUSH_DOWN_NESTED_QUERY,
                          false
                        );
  if (dataSource instanceof QueryDataSource && !forcePushDownNestedQuery) {
   return run(queryPlus.withQuery((Query<T>) ((QueryDataSource) dataSource).getQuery()), responseContext);
  } else {
   QueryPlus newQuery = queryPlus;
   if (forcePushDownNestedQuery) {
    // Disable any more push downs before firing off the query. But do let the historical know
    // that it is executing the complete nested query and not just the inner most part of it
    newQuery = queryPlus.withQuery(
      queryPlus.getQuery()
           .withOverriddenContext(
             ImmutableMap.of(
               GroupByQueryConfig.CTX_KEY_FORCE_PUSH_DOWN_NESTED_QUERY, false,
               GroupByQueryConfig.CTX_KEY_EXECUTING_NESTED_QUERY, true
             )
           )
    );
   }
   return baseRunner.run(newQuery, responseContext);
  }
 }
}

代码示例来源:origin: apache/incubator-druid

SpecificQueryRunnable(final QueryPlus<T> queryPlus, final Map<String, Object> responseContext)
{
 this.queryPlus = queryPlus;
 this.responseContext = responseContext;
 this.query = queryPlus.getQuery();
 this.toolChest = warehouse.getToolChest(query);
 this.strategy = toolChest.getCacheStrategy(query);
 this.useCache = CacheUtil.useCacheOnBrokers(query, strategy, cacheConfig);
 this.populateCache = CacheUtil.populateCacheOnBrokers(query, strategy, cacheConfig);
 this.isBySegment = QueryContexts.isBySegment(query);
 // Note that enabling this leads to putting uncovered intervals information in the response headers
 // and might blow up in some cases https://github.com/apache/incubator-druid/issues/2108
 this.uncoveredIntervalsLimit = QueryContexts.getUncoveredIntervalsLimit(query);
 this.downstreamQuery = query.withOverriddenContext(makeDownstreamQueryContext());
 // For nested queries, we need to look at the intervals of the inner most query.
 this.intervals = query.getIntervalsOfInnerMostQuery();
}

代码示例来源:origin: apache/incubator-druid

query = query.withOverriddenContext(
  ImmutableMap.of(QueryResource.HEADER_IF_NONE_MATCH, existingResultSetId));

代码示例来源:origin: apache/incubator-druid

queryToRun = query.withOverriddenContext(ImmutableMap.of("finalize", false));
metricManipulationFn = MetricManipulatorFns.finalizing();

代码示例来源:origin: apache/incubator-druid

QueryPlus.wrap(query.withOverriddenContext(ImmutableMap.of(QueryContexts.TIMEOUT_KEY, 1))),
  Collections.EMPTY_MAP
);

代码示例来源:origin: org.apache.druid/druid-processing

public static <T> Query<T> withTimeout(Query<T> query, long timeout)
{
 return query.withOverriddenContext(ImmutableMap.of(TIMEOUT_KEY, timeout));
}

代码示例来源:origin: org.apache.druid/druid-processing

public static <T> Query<T> withDefaultTimeout(Query<T> query, long defaultTimeout)
{
 return query.withOverriddenContext(ImmutableMap.of(QueryContexts.DEFAULT_TIMEOUT_KEY, defaultTimeout));
}

代码示例来源:origin: org.apache.druid/druid-processing

/**
 * Equivalent of withQuery(getQuery().withOverriddenContext(ImmutableMap.of(MAX_QUEUED_BYTES_KEY, maxQueuedBytes))).
 */
public QueryPlus<T> withMaxQueuedBytes(long maxQueuedBytes)
{
 return new QueryPlus<>(
   query.withOverriddenContext(ImmutableMap.of(QueryContexts.MAX_QUEUED_BYTES_KEY, maxQueuedBytes)),
   queryMetrics,
   identity
 );
}

代码示例来源:origin: org.apache.druid/druid-server

private Query<?> readQuery(
  final HttpServletRequest req,
  final InputStream in,
  final ResponseContext context
) throws IOException
{
 Query baseQuery = getMapperForRequest(req.getContentType()).readValue(in, Query.class);
 String prevEtag = getPreviousEtag(req);
 if (prevEtag != null) {
  baseQuery = baseQuery.withOverriddenContext(
    ImmutableMap.of(HEADER_IF_NONE_MATCH, prevEtag)
  );
 }
 return baseQuery;
}

代码示例来源:origin: org.apache.druid/druid-server

public Query<T> withTimeoutAndMaxScatterGatherBytes(Query<T> query, ServerConfig serverConfig)
 {
  Query<T> newQuery = QueryContexts.verifyMaxQueryTimeout(
    QueryContexts.withMaxScatterGatherBytes(
      QueryContexts.withDefaultTimeout(
        query,
        Math.min(serverConfig.getDefaultQueryTimeout(), serverConfig.getMaxQueryTimeout())
      ),
      serverConfig.getMaxScatterGatherBytes()
    ),
    serverConfig.getMaxQueryTimeout()
  );
  return newQuery.withOverriddenContext(ImmutableMap.of(DirectDruidClient.QUERY_FAIL_TIME, this.startTimeMillis + QueryContexts.getTimeout(newQuery)));
 }
}

代码示例来源:origin: org.apache.druid/druid-server

SpecificQueryRunnable(final QueryPlus<T> queryPlus, final Map<String, Object> responseContext)
{
 this.queryPlus = queryPlus;
 this.responseContext = responseContext;
 this.query = queryPlus.getQuery();
 this.toolChest = warehouse.getToolChest(query);
 this.strategy = toolChest.getCacheStrategy(query);
 this.useCache = CacheUtil.useCacheOnBrokers(query, strategy, cacheConfig);
 this.populateCache = CacheUtil.populateCacheOnBrokers(query, strategy, cacheConfig);
 this.isBySegment = QueryContexts.isBySegment(query);
 // Note that enabling this leads to putting uncovered intervals information in the response headers
 // and might blow up in some cases https://github.com/apache/incubator-druid/issues/2108
 this.uncoveredIntervalsLimit = QueryContexts.getUncoveredIntervalsLimit(query);
 this.downstreamQuery = query.withOverriddenContext(makeDownstreamQueryContext());
}

相关文章