失控查询Runaway queries

失控查询是一种部分查询失败。在查询执行期间超过某个内部查询限制时,就会发生该失败。A runaway query is a kind of partial query failure that happens when some internal query limit was exceeded during query execution.

例如,可能会报告以下错误:HashJoin operator has exceeded the memory budget during evaluation. Results may be incorrect or incomplete.For example, the following error may be reported: HashJoin operator has exceeded the memory budget during evaluation. Results may be incorrect or incomplete.

有几种可能的措施。There are several possible courses of action.

  • 更改查询以消耗更少的资源。Change the query to consume fewer resources. 例如,如果错误指示查询结果集太大,则可以:For example, if the error indicates that the query result set is too large, you can:
  • 暂时提高该查询的相关查询限制。Increase the relevant query limit temporarily for that query. 有关详细信息,请参阅查询限制 - 每个迭代器的内存限制For more information, see query limits - limit on memory per iterator. 不过,建议不要使用此方法。This method, however, isn't recommended. 设置这些限制是为了保护群集,并确保单个查询不会中断群集上运行的并发查询。The limits exist to protect the cluster and to make sure that a single query doesn't disrupt concurrent queries running on the cluster.