blob: 0a61966be852a59e3f40b3b8e7027085848b7f14 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept rev="2.0.0" id="disable_unsafe_spills">
<title>DISABLE_UNSAFE_SPILLS Query Option (<keyword keyref="impala20"/> or higher only)</title>
<titlealts audience="PDF"><navtitle>DISABLE_UNSAFE_SPILLS</navtitle></titlealts>
<data name="Category" value="Impala"/>
<data name="Category" value="Impala Query Options"/>
<data name="Category" value="Performance"/>
<data name="Category" value="Scalability"/>
<data name="Category" value="Memory"/>
<data name="Category" value="Developers"/>
<data name="Category" value="Data Analysts"/>
<p rev="2.0.0">
<indexterm audience="hidden">DISABLE_UNSAFE_SPILLS query option</indexterm>
Enable this option if you prefer to have queries fail when they exceed the Impala memory limit, rather than
write temporary data to disk.
Queries that <q>spill</q> to disk typically complete successfully, when in earlier Impala releases they would have failed.
However, queries with exorbitant memory requirements due to missing statistics or inefficient join clauses could
become so slow as a result that you would rather have them cancelled automatically and reduce the memory
usage through standard Impala tuning techniques.
This option prevents only <q>unsafe</q> spill operations, meaning that one or more tables are missing
statistics or the query does not include a hint to set the most efficient mechanism for a join or
<codeph>INSERT ... SELECT</codeph> into a partitioned table. These are the tables most likely to result in
suboptimal execution plans that could cause unnecessary spilling. Therefore, leaving this option enabled is a
good way to find tables on which to run the <codeph>COMPUTE STATS</codeph> statement.
See <xref href="impala_scalability.xml#spill_to_disk"/> for information about the <q>spill to disk</q>
feature for queries processing large result sets with joins, <codeph>ORDER BY</codeph>, <codeph>GROUP
BY</codeph>, <codeph>DISTINCT</codeph>, aggregation functions, or analytic functions.
<p conref="../shared/impala_common.xml#common/type_boolean"/>
<p conref="../shared/impala_common.xml#common/default_false_0"/>
<p conref="../shared/impala_common.xml#common/added_in_20"/>