This is an automated email from the ASF dual-hosted git repository.
stigahuang pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/impala.git
The following commit(s) were added to refs/heads/asf-site by this push:
new d7cf1ee90 Add missing html files for 4.4.1
d7cf1ee90 is described below
commit d7cf1ee9033ca6721882fc983279586db4e6b85f
Author: stiga-huang <[email protected]>
AuthorDate: Tue Aug 20 09:28:58 2024 +0800
Add missing html files for 4.4.1
Change-Id: Idb47e0078344fa90742d08121d821dfd281182b5
Reviewed-on: http://gerrit.cloudera.org:8080/21690
Reviewed-by: Michael Smith <[email protected]>
Tested-by: Michael Smith <[email protected]>
---
.../impala_enabled_runtime_filter_types.html | 94 +++++++++++++
.../topics/impala_queryingarrays.html | 110 +++++++++++++++
.../asf-site-html/topics/impala_unnest_views.html | 63 +++++++++
.../topics/impala_use_null_slots_cache.html | 46 +++++++
.../impala_enabled_runtime_filter_types.html | 124 +++++++++++++++++
.../plain-html/topics/impala_queryingarrays.html | 151 +++++++++++++++++++++
.../plain-html/topics/impala_unnest_views.html | 88 ++++++++++++
.../topics/impala_use_null_slots_cache.html | 63 +++++++++
8 files changed, 739 insertions(+)
diff --git
a/docs/build/asf-site-html/topics/impala_enabled_runtime_filter_types.html
b/docs/build/asf-site-html/topics/impala_enabled_runtime_filter_types.html
new file mode 100644
index 000000000..449bd7191
--- /dev/null
+++ b/docs/build/asf-site-html/topics/impala_enabled_runtime_filter_types.html
@@ -0,0 +1,94 @@
+<!DOCTYPE html
+ SYSTEM "about:legacy-compat">
+<html lang="en"><head><meta http-equiv="Content-Type" content="text/html;
charset=UTF-8"><meta charset="UTF-8"><meta name="copyright" content="(C)
Copyright 2024"><meta name="DC.rights.owner" content="(C) Copyright 2024"><meta
name="DC.Type" content="concept"><meta name="DC.Relation" scheme="URI"
content="../topics/impala_set.html"><meta name="prodname"
content="Impala"><meta name="version" content="Impala 3.4.x"><meta
name="DC.Format" content="XHTML"><meta name="DC.Identifier" content=" [...]
+The DITA Open Toolkit is licensed for use under the the Apache
+Software Foundation License v2.0.
+
+A copy of the Apache Software Foundation License 2.0 is
+available at http://opensource.org/licenses/apache2.0.php
+
+This statement must be included in any copies of DITA Open
+Toolkit code.
+--><div class="header">
+ <p>Apache Impala</p>
+ <hr>
+</div></header><nav role="toc"><ul><li><a
href="../topics/impala_intro.html">Introducing Apache Impala</a></li><li><a
href="../topics/impala_concepts.html">Concepts and Architecture</a></li><li><a
href="../topics/impala_planning.html">Deployment Planning</a></li><li><a
href="../topics/impala_install.html">Installing Impala</a></li><li><a
href="../topics/impala_config.html">Managing Impala</a></li><li><a
href="../topics/impala_upgrading.html">Upgrading Impala</a></li><li><a
href="../topic [...]
+
+ <h1 class="title topictitle1"
id="ariaid-title1">ENABLED_RUNTIME_FILTER_TYPES Query Option (<span
class="keyword">Impala 4.0</span> or higher only)</h1>
+
+
+
+ <div class="body conbody">
+
+ <div class="p">
+
+ The <code class="ph codeph">ENABLED_RUNTIME_FILTER_TYPES</code> query
option
+ sets enabled runtime filter types to be applied to scanners.
+ This option only applies to HDFS scan nodes and Kudu scan nodes.
+ The following types are supported.
+ Specify the enabled types by a comma-separated list of the following
values
+ or enable all types by "<code class="ph codeph">ALL</code>".
+ <ul class="ul">
+ <li class="li">
+ <code class="ph codeph">BLOOM</code>
+ </li>
+ <li class="li">
+ <code class="ph codeph">MIN_MAX</code>
+ </li>
+ <li class="li">
+ <code class="ph codeph">IN_LIST</code>
+ </li>
+ </ul>
+ </div>
+
+ <p class="p">
+ <strong class="ph b">Default:</strong> <code class="ph
codeph">"BLOOM,MIN_MAX"</code>
+ </p>
+ <p class="p">
+ <strong class="ph b">Type:</strong> string
+ </p>
+
+ <p class="p">
+ <strong class="ph b">Added in:</strong> <span class="keyword">Impala
4.0</span>
+ </p>
+
+ <p class="p">
+ <strong class="ph b">Usage notes:</strong>
+ </p>
+
+ <p class="p">
+ Impala backend expects comma separated values to be in quotes when
executing the
+ <code class="ph codeph">SET</code> statement.
+ This is usually the case when running SET statement like
+ <code class="ph codeph">SET
ENABLED_RUNTIME_FILTER_TYPES="value1,value2"</code> using a JDBC
+ driver. When using Impala-shell client, the <code class="ph
codeph">SET</code> statement is not
+ executed immediately but query options are updated in the client and
applied as
+ part of the following statement, so no quotes are required for
Impala-shell. That
+ is, we use SET statement like
+ <code class="ph codeph">SET
ENABLED_RUNTIME_FILTER_TYPES=value1,value2</code> when
+ submitting the query to Impala backend via Impala-shell client.
+ </p>
+
+ <div class="p">
+ Depending on the scan node type, Planner can schedule compatible runtime
filter
+ types as follows.
+ <ul class="ul">
+ <li class="li">Kudu scan: <code class="ph codeph">BLOOM</code>, <code
class="ph codeph">MIN_MAX</code></li>
+ <li class="li">
+ HDFS scan on Parquet files: <code class="ph codeph">BLOOM</code>,
<code class="ph codeph">MIN_MAX</code>
+ </li>
+ <li class="li">HDFS scan on ORC files: <code class="ph
codeph">BLOOM</code>, <code class="ph codeph">IN_LIST</code></li>
+ <li class="li">HDFS scan on other kinds of files: <code class="ph
codeph">BLOOM</code></li>
+ </ul>
+ </div>
+
+ <p class="p">
+ <strong class="ph b">Related information:</strong>
+ </p>
+ <p class="p">
+ <a class="xref" href="impala_runtime_filtering.html">Runtime Filtering
for Impala Queries (Impala 2.5 or higher only)</a>,
+ <a class="xref"
href="impala_runtime_filter_mode.html#runtime_filter_mode">RUNTIME_FILTER_MODE
Query Option (Impala 2.5 or higher only)</a>
+ </p>
+
+ </div>
+<nav role="navigation" class="related-links"><div class="familylinks"><div
class="parentlink"><strong>Parent topic:</strong> <a class="link"
href="../topics/impala_set.html">SET
Statement</a></div></div></nav></article></main></body></html>
\ No newline at end of file
diff --git a/docs/build/asf-site-html/topics/impala_queryingarrays.html
b/docs/build/asf-site-html/topics/impala_queryingarrays.html
new file mode 100644
index 000000000..369d102e6
--- /dev/null
+++ b/docs/build/asf-site-html/topics/impala_queryingarrays.html
@@ -0,0 +1,110 @@
+<!DOCTYPE html
+ SYSTEM "about:legacy-compat">
+<html lang="en"><head><meta http-equiv="Content-Type" content="text/html;
charset=UTF-8"><meta charset="UTF-8"><meta name="copyright" content="(C)
Copyright 2024"><meta name="DC.rights.owner" content="(C) Copyright 2024"><meta
name="DC.Type" content="concept"><meta name="DC.Relation" scheme="URI"
content="../topics/impala_complex_types.html"><meta name="prodname"
content="Impala"><meta name="version" content="Impala 3.4.x"><meta
name="DC.Format" content="XHTML"><meta name="DC.Identifier" [...]
+The DITA Open Toolkit is licensed for use under the the Apache
+Software Foundation License v2.0.
+
+A copy of the Apache Software Foundation License 2.0 is
+available at http://opensource.org/licenses/apache2.0.php
+
+This statement must be included in any copies of DITA Open
+Toolkit code.
+--><div class="header">
+ <p>Apache Impala</p>
+ <hr>
+</div></header><nav role="toc"><ul><li><a
href="../topics/impala_intro.html">Introducing Apache Impala</a></li><li><a
href="../topics/impala_concepts.html">Concepts and Architecture</a></li><li><a
href="../topics/impala_planning.html">Deployment Planning</a></li><li><a
href="../topics/impala_install.html">Installing Impala</a></li><li><a
href="../topics/impala_config.html">Managing Impala</a></li><li><a
href="../topics/impala_upgrading.html">Upgrading Impala</a></li><li><a
href="../topic [...]
+ <h1 class="title topictitle1" id="ariaid-title1">Querying arrays (<span
class="keyword">Impala 4.1</span> or higher only)</h1>
+
+
+ <div class="body conbody">
+ <p class="p">
+ Describes how to use UNNEST function
+ to query arrays. ARRAY data types represent collections with arbitrary
numbers of elements,
+ where each element is the same type.</p>
+ <section class="section"
id="impala_queryingarrays__section_yl4_2qb_3cc"><h2 class="title
sectiontitle">Querying arrays using JOIN and UNNEST</h2>
+
+ <p class="p">You can query arrays by making a join between the table and
the array inside the table.
+ This approach is improved with the introduction of the <code class="ph
codeph">UNNEST</code> function in
+ the <code class="ph codeph">SELECT</code> list or in the <code
class="ph codeph">FROM</code> clause in the
+ <code class="ph codeph">SELECT</code> statement. When you use <code
class="ph codeph">UNNEST</code>, you can provide
+ more than one array in the <code class="ph codeph">SELECT</code>
statement. If you use JOINs for querying
+ arrays it will yield a <dfn class="term">joining unnest</dfn> however
the latter will provide a
+ <dfn class="term">zipping unnest</dfn>.</p>
+ </section>
+ <section class="section"
id="impala_queryingarrays__section_hmf_hqb_3cc"><h2 class="title
sectiontitle">Example of querying arrays using JOIN</h2>
+
+ <p class="p">Use <code class="ph codeph">JOIN</code> in cases where you
must join unnest of multiple arrays. However
+ if you must zip unnest then use the newly implemented <code class="ph
codeph">UNNEST</code> function.</p>
+ <p class="p">Here is an example of a <code class="ph
codeph">SELECT</code> statement that uses JOINs to query an
+ array.</p>
+ <pre class="pre codeblock"
id="impala_queryingarrays__codeblock_uqy_rqb_3cc"><code>SELECT id, arr1.item,
arr2.item FROM tbl_name tbl, tbl.arr1, tbl.arr2;
+
+ID, ARR1.ITEM, ARR2.ITEM
+[1, 1, 10]
+[1, 1, 11]
+[1, 2, 10]
+[1, 2, 11]
+[1, 3, 10]
+[1, 3, 11]
+</code></pre>
+ <div class="note note note_note"
id="impala_queryingarrays__note_tpb_wln_htb"><span class="note__title
notetitle">Note:</span>
+ <p class="p">The test data used in this example is ID: 1, arr1: {1, 2,
3}, arr2: {10, 11}</p>
+ </div>
+ </section>
+ <section class="section"
id="impala_queryingarrays__section_ipq_tqb_3cc"><h2 class="title
sectiontitle">Examples of querying arrays using UNNEST</h2>
+
+ <p class="p">You can use one of the two different syntaxes shown here to
unnest multiple arrays in one
+ query. This results in the items of the arrays being zipped together
instead of joining.</p>
+ <ul class="ul" id="impala_queryingarrays__ul_jpq_tqb_3cc">
+ <li class="li">ISO:SQL 2016 compliant syntax:
+ <pre class="pre codeblock"
id="impala_queryingarrays__codeblock_kpq_tqb_3cc"><code>SELECT a1.item, a2.item
+FROM complextypes_arrays t, UNNEST(t.arr1, t.arr2) AS (a1, a2);
+</code></pre></li>
+ <li class="li">Postgres compatible
+ syntax:<pre class="pre codeblock"
id="impala_queryingarrays__codeblock_yl5_3mn_htb"><code>SELECT UNNEST(arr1),
UNNEST(arr2) FROM complextypes_arrays;</code></pre></li>
+ </ul>
+ <p class="p"><strong class="ph b">Unnest operator in SELECT
list</strong></p>
+ <pre class="pre codeblock"
id="impala_queryingarrays__codeblock_lpq_tqb_3cc"><code>SELECT id,
unnest(arr1), unnest(arr2) FROM tbl_name;</code></pre>
+ <p class="p"><strong class="ph b">Unnest operator in FROM
clause</strong></p>
+ <pre class="pre codeblock"
id="impala_queryingarrays__codeblock_mpq_tqb_3cc"><code>SELECT id, arr1.item,
arr2.item FROM tbl_name tbl_alias, UNNEST(tbl_alias.arr1,
tbl_alias.arr2);</code></pre>
+ <p class="p">This new functionality would zip the arrays next to each
other as shown here. </p>
+ <pre class="pre codeblock"
id="impala_queryingarrays__codeblock_npq_tqb_3cc"><code>ID, ARR1.ITEM, ARR2.ITEM
+[1, 1, 10]
+[1, 2, 11]
+[1, 3, NULL]
+</code></pre>
+ <p class="p">Note, that arr2 is shorter than arr1 so the "missing" items
in its column will be filled
+ with NULLs.</p>
+ <div class="note note note_note"
id="impala_queryingarrays__note_opq_tqb_3cc"><span class="note__title
notetitle">Note:</span> The test data used in this example is ID: 1, arr1: {1,
2, 3},
+ arr2: {10, 11}</div>
+ </section>
+ <section class="section"
id="impala_queryingarrays__section_i1g_wqb_3cc"><h2 class="title
sectiontitle">Limitations in Using UNNEST</h2>
+
+ <div class="p">
+ <ul class="ul" id="impala_queryingarrays__ul_j1g_wqb_3cc">
+ <li class="li">Only arrays from the same table can be zipping
unnested</li>
+ <li class="li">The old (joining) and the new (zipping) unnests
cannot be used together</li>
+ <li class="li">You can add a <code class="ph codeph">WHERE</code>
filter on an unnested item only if you add a
+ wrapper <code class="ph codeph">SELECT</code> and do the filtering
+ <p class="p">Example:</p><pre class="pre codeblock"
id="impala_queryingarrays__codeblock_k1g_wqb_3cc"><code>SELECT id, arr1_unnest
FROM (SELECT id, unnest(arr1) as arr1_unnest FROM tbl_name) WHERE arr1_unnest
< 10;</code></pre></li>
+ </ul>
+ </div>
+ </section>
+ <section class="section"
id="impala_queryingarrays__section_ewb_yqb_3cc"><h2 class="title
sectiontitle">Using ARRAY columns in the SELECT list</h2>
+
+
+ <p class="p">Impala 4.1 adds support to return <code class="ph
codeph">ARRAYs</code> as
+ <code class="ph codeph">STRINGs</code> (<dfn class="term">JSON
arrays</dfn>) in the <code class="ph codeph">SELECT</code> list,
+ for example: </p>
+ <pre class="pre codeblock"
id="impala_queryingarrays__codeblock_gwb_yqb_3cc"><code>select id, int_array
from functional_parquet.complextypestbl where id = 1;
+returns: 1, “[1,2,3]”
+</code></pre>
+ <p class="p">Returning <code class="ph codeph">ARRAYs</code> from inline
or Hive Metastore views is also supported.
+ These arrays can be used both in the select list or as relative table
references.</p>
+ <pre class="pre codeblock"
id="impala_queryingarrays__codeblock_hwb_yqb_3cc"><code>select id, int_array
from (select id, int_array from complextypestbl) s;</code></pre>
+ <p class="p">Though <code class="ph codeph">STRUCTs</code> are already
supported, <code class="ph codeph">ARRAYs</code> and
+ <code class="ph codeph">STRUCTs</code> nested within each other are
not supported yet. Using them as
+ non-relative table references is also not supported yet.</p>
+ </section>
+ </div>
+<nav role="navigation" class="related-links"><div class="familylinks"><div
class="parentlink"><strong>Parent topic:</strong> <a class="link"
href="../topics/impala_complex_types.html">Complex Types (Impala 2.3 or higher
only)</a></div></div></nav></article></main></body></html>
\ No newline at end of file
diff --git a/docs/build/asf-site-html/topics/impala_unnest_views.html
b/docs/build/asf-site-html/topics/impala_unnest_views.html
new file mode 100644
index 000000000..718e72bb9
--- /dev/null
+++ b/docs/build/asf-site-html/topics/impala_unnest_views.html
@@ -0,0 +1,63 @@
+<!DOCTYPE html
+ SYSTEM "about:legacy-compat">
+<html lang="en"><head><meta http-equiv="Content-Type" content="text/html;
charset=UTF-8"><meta charset="UTF-8"><meta name="copyright" content="(C)
Copyright 2024"><meta name="DC.rights.owner" content="(C) Copyright 2024"><meta
name="DC.Type" content="concept"><meta name="DC.Relation" scheme="URI"
content="../topics/impala_complex_types.html"><meta name="prodname"
content="Impala"><meta name="version" content="Impala 3.4.x"><meta
name="DC.Format" content="XHTML"><meta name="DC.Identifier" [...]
+The DITA Open Toolkit is licensed for use under the the Apache
+Software Foundation License v2.0.
+
+A copy of the Apache Software Foundation License 2.0 is
+available at http://opensource.org/licenses/apache2.0.php
+
+This statement must be included in any copies of DITA Open
+Toolkit code.
+--><div class="header">
+ <p>Apache Impala</p>
+ <hr>
+</div></header><nav role="toc"><ul><li><a
href="../topics/impala_intro.html">Introducing Apache Impala</a></li><li><a
href="../topics/impala_concepts.html">Concepts and Architecture</a></li><li><a
href="../topics/impala_planning.html">Deployment Planning</a></li><li><a
href="../topics/impala_install.html">Installing Impala</a></li><li><a
href="../topics/impala_config.html">Managing Impala</a></li><li><a
href="../topics/impala_upgrading.html">Upgrading Impala</a></li><li><a
href="../topic [...]
+ <h1 class="title topictitle1" id="ariaid-title1">Zipping unnest on arrays
from views (<span class="keyword">Impala 4.1</span> or higher only)</h1>
+
+
+ <div class="body conbody">
+ <div class="p">
+
+ <span class="keyword">Impala 4.1</span>, the zipping unnest
functionality works for arrays in both tables
+ and
+ views.<pre class="pre codeblock"
id="impala_unnest_views__codeblock_nwz_lyc_3cc"><code>SELECT UNNSET(arr1) FROM
view_name;</code></pre>
+ </div>
+ <section class="section" id="impala_unnest_views__section_irf_rrb_3cc"><h2
class="title sectiontitle">UNNEST() on array columns</h2>
+
+ <p class="p">You can use <code class="ph codeph">UNNEST()</code> on
array columns in two ways. Using one of these two
+ ways results in the items of the arrays being zipped together instead
of joining.</p>
+ <ul class="ul" id="impala_unnest_views__ul_jrf_rrb_3cc">
+ <li class="li">ISO:SQL 2016 compliant syntax</li>
+ </ul>
+ <pre class="pre codeblock"
id="impala_unnest_views__codeblock_krf_rrb_3cc"><code>SELECT a1.item, a2.item
+FROM complextypes_arrays t, UNNEST(t.arr1, t.arr2) AS (a1, a2);
+</code></pre>
+ <ul class="ul" id="impala_unnest_views__ul_lrf_rrb_3cc">
+ <li class="li">Postgres compatible syntax</li>
+ </ul>
+ <pre class="pre codeblock"
id="impala_unnest_views__codeblock_mrf_rrb_3cc"><code>SELECT UNNEST(arr1),
UNNEST(arr2) FROM complextypes_arrays;</code></pre>
+ <p class="p">When unnesting multiple arrays with zipping unnest, the
i'th item of one array will be
+ placed next to the i'th item of the other arrays in the results. If
the size of the arrays
+ is not equal then the shorter arrays will be filled with NULL values
up to the size of the
+ longest array as shown in the following example:</p>
+ <p class="p">The test data used in this example is arr1: {1, 2, 3},
arr2: {11, 12}</p>
+ <p class="p">After running any of the queries listed in the examples,
the result will be as shown
+ here:</p>
+ <div class="p">
+ <pre class="pre codeblock"
id="impala_unnest_views__codeblock_n5z_cjq_mtb"><code>arr1 arr2
+[1, 11]
+[2, 12]
+[3, NULL]
+</code></pre>
+ </div>
+ </section>
+ <section class="section" id="impala_unnest_views__section_ifc_trb_3cc"><h2
class="title sectiontitle">Example of an UNNEST() in an inline view using
SELECT/FILTER of the inline view</h2>
+
+ <p class="p">In the following example the filter is not in the <code
class="ph codeph">SELECT</code> query that
+ creates the inline view but a level above that.</p>
+ <pre class="pre codeblock"
id="impala_unnest_views__codeblock_jfc_trb_3cc"><code>SELECT id, ac1, ac2 FROM
(SELECT id, UNNEST(array_col1) AS ac1, UNNEST(array_col2) AS ac2 FROM
some_view) WHERE id <10;
+</code></pre>
+ </section>
+ </div>
+<nav role="navigation" class="related-links"><div class="familylinks"><div
class="parentlink"><strong>Parent topic:</strong> <a class="link"
href="../topics/impala_complex_types.html">Complex Types (Impala 2.3 or higher
only)</a></div></div></nav></article></main></body></html>
\ No newline at end of file
diff --git a/docs/build/asf-site-html/topics/impala_use_null_slots_cache.html
b/docs/build/asf-site-html/topics/impala_use_null_slots_cache.html
new file mode 100644
index 000000000..4b6589922
--- /dev/null
+++ b/docs/build/asf-site-html/topics/impala_use_null_slots_cache.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html
+ SYSTEM "about:legacy-compat">
+<html lang="en"><head><meta http-equiv="Content-Type" content="text/html;
charset=UTF-8"><meta charset="UTF-8"><meta name="copyright" content="(C)
Copyright 2024"><meta name="DC.rights.owner" content="(C) Copyright 2024"><meta
name="DC.Type" content="concept"><meta name="DC.Relation" scheme="URI"
content="../topics/impala_set.html"><meta name="prodname"
content="Impala"><meta name="version" content="Impala 3.4.x"><meta
name="DC.Format" content="XHTML"><meta name="DC.Identifier" content=" [...]
+The DITA Open Toolkit is licensed for use under the the Apache
+Software Foundation License v2.0.
+
+A copy of the Apache Software Foundation License 2.0 is
+available at http://opensource.org/licenses/apache2.0.php
+
+This statement must be included in any copies of DITA Open
+Toolkit code.
+--><div class="header">
+ <p>Apache Impala</p>
+ <hr>
+</div></header><nav role="toc"><ul><li><a
href="../topics/impala_intro.html">Introducing Apache Impala</a></li><li><a
href="../topics/impala_concepts.html">Concepts and Architecture</a></li><li><a
href="../topics/impala_planning.html">Deployment Planning</a></li><li><a
href="../topics/impala_install.html">Installing Impala</a></li><li><a
href="../topics/impala_config.html">Managing Impala</a></li><li><a
href="../topics/impala_upgrading.html">Upgrading Impala</a></li><li><a
href="../topic [...]
+
+ <h1 class="title topictitle1" id="ariaid-title1">USE_NULL_SLOTS_CACHE Query
Option</h1>
+
+
+
+ <div class="body conbody">
+ <p class="p">
+ Impala
+ optimizes expressions that contain null-rejecting conjuncts - expressions
that are
+ false if all "slots" (values returned from a table) are <code class="ph
codeph">NULL</code>.
+ Evaluating whether a conjunct is null-rejecting can be expensive when
performed over a
+ lot of expressions. The "null slots cache" speeds analysis of generated
queries with
+ many similar expressions by caching the result of evaluating an expression
after slots
+ have been replaced with <code class="ph codeph">NULL</code>s.
+ </p>
+
+ <p class="p">
+ If query analysis uses a lot of memory, performance of the "null slots
cache" can be
+ reviewed by enabling logging <code class="ph
codeph">org.apache.impala.analysis.Analyzer=DEBUG</code>
+ and searching coordinator logs for messages like
+ </p>
+
+<pre class="pre codeblock"><code>
+null slots cache size: 286, median entry: 4416.0, 99th entry: 252688.88, hit
rate: 0.99456364
+</code></pre>
+
+ <p class="p"><strong class="ph b">Type: </strong>BOOLEAN</p>
+ <p class="p"><strong class="ph b">Default: </strong>TRUE</p>
+ <p class="p"><strong class="ph b">Added in: </strong>Impala 4.5</p>
+ </div>
+<nav role="navigation" class="related-links"><div class="familylinks"><div
class="parentlink"><strong>Parent topic:</strong> <a class="link"
href="../topics/impala_set.html">SET
Statement</a></div></div></nav></article></main></body></html>
\ No newline at end of file
diff --git
a/docs/build/plain-html/topics/impala_enabled_runtime_filter_types.html
b/docs/build/plain-html/topics/impala_enabled_runtime_filter_types.html
new file mode 100644
index 000000000..4340c5a29
--- /dev/null
+++ b/docs/build/plain-html/topics/impala_enabled_runtime_filter_types.html
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+
+<meta name="copyright" content="(C) Copyright 2024" />
+<meta name="DC.rights.owner" content="(C) Copyright 2024" />
+<meta name="DC.Type" content="concept" />
+<meta name="DC.Title" content="ENABLED_RUNTIME_FILTER_TYPES Query Option
(Impala 4.0 or higher only)" />
+<meta name="DC.Relation" scheme="URI" content="../topics/impala_set.html" />
+<meta name="prodname" content="Impala" />
+<meta name="version" content="Impala 3.4.x" />
+<meta name="DC.Format" content="XHTML" />
+<meta name="DC.Identifier" content="enabled_runtime_filter_types" />
+<link rel="stylesheet" type="text/css" href="../commonltr.css" />
+<title>ENABLED_RUNTIME_FILTER_TYPES Query Option (Impala 4.0 or higher
only)</title>
+</head>
+<body id="enabled_runtime_filter_types">
+
+
+ <h1 class="title topictitle1"
id="ariaid-title1">ENABLED_RUNTIME_FILTER_TYPES Query Option (<span
class="keyword">Impala 4.0</span> or higher only)</h1>
+
+
+
+
+ <div class="body conbody">
+
+ <div class="p">
+
+ The <code class="ph codeph">ENABLED_RUNTIME_FILTER_TYPES</code> query
option
+ sets enabled runtime filter types to be applied to scanners.
+ This option only applies to HDFS scan nodes and Kudu scan nodes.
+ The following types are supported.
+ Specify the enabled types by a comma-separated list of the following
values
+ or enable all types by "<code class="ph codeph">ALL</code>".
+ <ul class="ul">
+ <li class="li">
+ <code class="ph codeph">BLOOM</code>
+ </li>
+
+ <li class="li">
+ <code class="ph codeph">MIN_MAX</code>
+ </li>
+
+ <li class="li">
+ <code class="ph codeph">IN_LIST</code>
+ </li>
+
+ </ul>
+
+ </div>
+
+
+ <p class="p">
+ <strong class="ph b">Default:</strong> <code class="ph
codeph">"BLOOM,MIN_MAX"</code>
+ </p>
+
+ <p class="p">
+ <strong class="ph b">Type:</strong> string
+ </p>
+
+
+ <p class="p">
+ <strong class="ph b">Added in:</strong> <span class="keyword">Impala
4.0</span>
+ </p>
+
+
+ <p class="p">
+ <strong class="ph b">Usage notes:</strong>
+ </p>
+
+
+ <p class="p">
+ Impala backend expects comma separated values to be in quotes when
executing the
+ <code class="ph codeph">SET</code> statement.
+ This is usually the case when running SET statement like
+ <code class="ph codeph">SET
ENABLED_RUNTIME_FILTER_TYPES="value1,value2"</code> using a JDBC
+ driver. When using Impala-shell client, the <code class="ph
codeph">SET</code> statement is not
+ executed immediately but query options are updated in the client and
applied as
+ part of the following statement, so no quotes are required for
Impala-shell. That
+ is, we use SET statement like
+ <code class="ph codeph">SET
ENABLED_RUNTIME_FILTER_TYPES=value1,value2</code> when
+ submitting the query to Impala backend via Impala-shell client.
+ </p>
+
+
+ <div class="p">
+ Depending on the scan node type, Planner can schedule compatible runtime
filter
+ types as follows.
+ <ul class="ul">
+ <li class="li">Kudu scan: <code class="ph codeph">BLOOM</code>, <code
class="ph codeph">MIN_MAX</code></li>
+
+ <li class="li">
+ HDFS scan on Parquet files: <code class="ph codeph">BLOOM</code>,
<code class="ph codeph">MIN_MAX</code>
+ </li>
+
+ <li class="li">HDFS scan on ORC files: <code class="ph
codeph">BLOOM</code>, <code class="ph codeph">IN_LIST</code></li>
+
+ <li class="li">HDFS scan on other kinds of files: <code class="ph
codeph">BLOOM</code></li>
+
+ </ul>
+
+ </div>
+
+
+ <p class="p">
+ <strong class="ph b">Related information:</strong>
+ </p>
+
+ <p class="p">
+ <a class="xref" href="impala_runtime_filtering.html">Runtime Filtering
for Impala Queries (Impala 2.5 or higher only)</a>,
+ <a class="xref"
href="impala_runtime_filter_mode.html#runtime_filter_mode">RUNTIME_FILTER_MODE
Query Option (Impala 2.5 or higher only)</a>
+ </p>
+
+
+ </div>
+
+<div class="related-links">
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a class="link"
href="../topics/impala_set.html">SET Statement</a></div>
+</div>
+</div></body>
+</html>
\ No newline at end of file
diff --git a/docs/build/plain-html/topics/impala_queryingarrays.html
b/docs/build/plain-html/topics/impala_queryingarrays.html
new file mode 100644
index 000000000..4569700d5
--- /dev/null
+++ b/docs/build/plain-html/topics/impala_queryingarrays.html
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+
+<meta name="copyright" content="(C) Copyright 2024" />
+<meta name="DC.rights.owner" content="(C) Copyright 2024" />
+<meta name="DC.Type" content="concept" />
+<meta name="DC.Title" content="Querying arrays (Impala 4.1 or higher only)" />
+<meta name="DC.Relation" scheme="URI"
content="../topics/impala_complex_types.html" />
+<meta name="prodname" content="Impala" />
+<meta name="version" content="Impala 3.4.x" />
+<meta name="DC.Format" content="XHTML" />
+<meta name="DC.Identifier" content="impala_queryingarrays" />
+<link rel="stylesheet" type="text/css" href="../commonltr.css" />
+<title>Querying arrays (Impala 4.1 or higher only)</title>
+</head>
+<body id="impala_queryingarrays">
+
+ <h1 class="title topictitle1" id="ariaid-title1">Querying arrays (<span
class="keyword">Impala 4.1</span> or higher only)</h1>
+
+
+
+ <div class="body conbody">
+ <p class="p">
+ Describes how to use UNNEST function
+ to query arrays. ARRAY data types represent collections with arbitrary
numbers of elements,
+ where each element is the same type.</p>
+
+ <div class="section" id="impala_queryingarrays__section_yl4_2qb_3cc"><h2
class="title sectiontitle">Querying arrays using JOIN and UNNEST</h2>
+
+ <p class="p">You can query arrays by making a join between the table and
the array inside the table.
+ This approach is improved with the introduction of the <code class="ph
codeph">UNNEST</code> function in
+ the <code class="ph codeph">SELECT</code> list or in the <code
class="ph codeph">FROM</code> clause in the
+ <code class="ph codeph">SELECT</code> statement. When you use <code
class="ph codeph">UNNEST</code>, you can provide
+ more than one array in the <code class="ph codeph">SELECT</code>
statement. If you use JOINs for querying
+ arrays it will yield a <dfn class="term">joining unnest</dfn> however
the latter will provide a
+ <dfn class="term">zipping unnest</dfn>.</p>
+
+ </div>
+
+ <div class="section" id="impala_queryingarrays__section_hmf_hqb_3cc"><h2
class="title sectiontitle">Example of querying arrays using JOIN</h2>
+
+ <p class="p">Use <code class="ph codeph">JOIN</code> in cases where you
must join unnest of multiple arrays. However
+ if you must zip unnest then use the newly implemented <code class="ph
codeph">UNNEST</code> function.</p>
+
+ <p class="p">Here is an example of a <code class="ph
codeph">SELECT</code> statement that uses JOINs to query an
+ array.</p>
+
+ <pre class="pre codeblock"
id="impala_queryingarrays__codeblock_uqy_rqb_3cc"><code>SELECT id, arr1.item,
arr2.item FROM tbl_name tbl, tbl.arr1, tbl.arr2;
+
+ID, ARR1.ITEM, ARR2.ITEM
+[1, 1, 10]
+[1, 1, 11]
+[1, 2, 10]
+[1, 2, 11]
+[1, 3, 10]
+[1, 3, 11]
+</code></pre>
+ <div class="note note"
id="impala_queryingarrays__note_tpb_wln_htb"><span
class="notetitle">Note:</span>
+ <p class="p">The test data used in this example is ID: 1, arr1: {1, 2,
3}, arr2: {10, 11}</p>
+
+ </div>
+
+ </div>
+
+ <div class="section" id="impala_queryingarrays__section_ipq_tqb_3cc"><h2
class="title sectiontitle">Examples of querying arrays using UNNEST</h2>
+
+ <p class="p">You can use one of the two different syntaxes shown here to
unnest multiple arrays in one
+ query. This results in the items of the arrays being zipped together
instead of joining.</p>
+
+ <ul class="ul" id="impala_queryingarrays__ul_jpq_tqb_3cc">
+ <li class="li">ISO:SQL 2016 compliant syntax:
+ <pre class="pre codeblock"
id="impala_queryingarrays__codeblock_kpq_tqb_3cc"><code>SELECT a1.item, a2.item
+FROM complextypes_arrays t, UNNEST(t.arr1, t.arr2) AS (a1, a2);
+</code></pre></li>
+
+ <li class="li">Postgres compatible
+ syntax:<pre class="pre codeblock"
id="impala_queryingarrays__codeblock_yl5_3mn_htb"><code>SELECT UNNEST(arr1),
UNNEST(arr2) FROM complextypes_arrays;</code></pre></li>
+
+ </ul>
+
+ <p class="p"><strong class="ph b">Unnest operator in SELECT
list</strong></p>
+
+ <pre class="pre codeblock"
id="impala_queryingarrays__codeblock_lpq_tqb_3cc"><code>SELECT id,
unnest(arr1), unnest(arr2) FROM tbl_name;</code></pre>
+ <p class="p"><strong class="ph b">Unnest operator in FROM
clause</strong></p>
+
+ <pre class="pre codeblock"
id="impala_queryingarrays__codeblock_mpq_tqb_3cc"><code>SELECT id, arr1.item,
arr2.item FROM tbl_name tbl_alias, UNNEST(tbl_alias.arr1,
tbl_alias.arr2);</code></pre>
+ <p class="p">This new functionality would zip the arrays next to each
other as shown here. </p>
+
+ <pre class="pre codeblock"
id="impala_queryingarrays__codeblock_npq_tqb_3cc"><code>ID, ARR1.ITEM, ARR2.ITEM
+[1, 1, 10]
+[1, 2, 11]
+[1, 3, NULL]
+</code></pre>
+ <p class="p">Note, that arr2 is shorter than arr1 so the "missing" items
in its column will be filled
+ with NULLs.</p>
+
+ <div class="note note"
id="impala_queryingarrays__note_opq_tqb_3cc"><span
class="notetitle">Note:</span> The test data used in this example is ID: 1,
arr1: {1, 2, 3},
+ arr2: {10, 11}</div>
+
+ </div>
+
+ <div class="section" id="impala_queryingarrays__section_i1g_wqb_3cc"><h2
class="title sectiontitle">Limitations in Using UNNEST</h2>
+
+ <div class="p">
+ <ul class="ul" id="impala_queryingarrays__ul_j1g_wqb_3cc">
+ <li class="li">Only arrays from the same table can be zipping
unnested</li>
+
+ <li class="li">The old (joining) and the new (zipping) unnests
cannot be used together</li>
+
+ <li class="li">You can add a <code class="ph codeph">WHERE</code>
filter on an unnested item only if you add a
+ wrapper <code class="ph codeph">SELECT</code> and do the filtering
+ <p class="p">Example:</p>
+<pre class="pre codeblock"
id="impala_queryingarrays__codeblock_k1g_wqb_3cc"><code>SELECT id, arr1_unnest
FROM (SELECT id, unnest(arr1) as arr1_unnest FROM tbl_name) WHERE arr1_unnest
< 10;</code></pre></li>
+
+ </ul>
+
+ </div>
+
+ </div>
+
+ <div class="section" id="impala_queryingarrays__section_ewb_yqb_3cc"><h2
class="title sectiontitle">Using ARRAY columns in the SELECT list</h2>
+
+
+ <p class="p">Impala 4.1 adds support to return <code class="ph
codeph">ARRAYs</code> as
+ <code class="ph codeph">STRINGs</code> (<dfn class="term">JSON
arrays</dfn>) in the <code class="ph codeph">SELECT</code> list,
+ for example: </p>
+
+ <pre class="pre codeblock"
id="impala_queryingarrays__codeblock_gwb_yqb_3cc"><code>select id, int_array
from functional_parquet.complextypestbl where id = 1;
+returns: 1, “[1,2,3]”
+</code></pre>
+ <p class="p">Returning <code class="ph codeph">ARRAYs</code> from inline
or Hive Metastore views is also supported.
+ These arrays can be used both in the select list or as relative table
references.</p>
+
+ <pre class="pre codeblock"
id="impala_queryingarrays__codeblock_hwb_yqb_3cc"><code>select id, int_array
from (select id, int_array from complextypestbl) s;</code></pre>
+ <p class="p">Though <code class="ph codeph">STRUCTs</code> are already
supported, <code class="ph codeph">ARRAYs</code> and
+ <code class="ph codeph">STRUCTs</code> nested within each other are
not supported yet. Using them as
+ non-relative table references is also not supported yet.</p>
+
+ </div>
+
+ </div>
+
+<div class="related-links">
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a class="link"
href="../topics/impala_complex_types.html">Complex Types (Impala 2.3 or higher
only)</a></div>
+</div>
+</div></body>
+</html>
\ No newline at end of file
diff --git a/docs/build/plain-html/topics/impala_unnest_views.html
b/docs/build/plain-html/topics/impala_unnest_views.html
new file mode 100644
index 000000000..22940f576
--- /dev/null
+++ b/docs/build/plain-html/topics/impala_unnest_views.html
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+
+<meta name="copyright" content="(C) Copyright 2024" />
+<meta name="DC.rights.owner" content="(C) Copyright 2024" />
+<meta name="DC.Type" content="concept" />
+<meta name="DC.Title" content="Zipping unnest on arrays from views (Impala 4.1
or higher only)" />
+<meta name="DC.Relation" scheme="URI"
content="../topics/impala_complex_types.html" />
+<meta name="prodname" content="Impala" />
+<meta name="version" content="Impala 3.4.x" />
+<meta name="DC.Format" content="XHTML" />
+<meta name="DC.Identifier" content="impala_unnest_views" />
+<link rel="stylesheet" type="text/css" href="../commonltr.css" />
+<title>Zipping unnest on arrays from views (Impala 4.1 or higher only)</title>
+</head>
+<body id="impala_unnest_views">
+
+ <h1 class="title topictitle1" id="ariaid-title1">Zipping unnest on arrays
from views (<span class="keyword">Impala 4.1</span> or higher only)</h1>
+
+
+
+ <div class="body conbody">
+ <div class="p">
+
+ <span class="keyword">Impala 4.1</span>, the zipping unnest
functionality works for arrays in both tables
+ and
+ views.<pre class="pre codeblock"
id="impala_unnest_views__codeblock_nwz_lyc_3cc"><code>SELECT UNNSET(arr1) FROM
view_name;</code></pre>
+ </div>
+
+ <div class="section" id="impala_unnest_views__section_irf_rrb_3cc"><h2
class="title sectiontitle">UNNEST() on array columns</h2>
+
+ <p class="p">You can use <code class="ph codeph">UNNEST()</code> on
array columns in two ways. Using one of these two
+ ways results in the items of the arrays being zipped together instead
of joining.</p>
+
+ <ul class="ul" id="impala_unnest_views__ul_jrf_rrb_3cc">
+ <li class="li">ISO:SQL 2016 compliant syntax</li>
+
+ </ul>
+
+ <pre class="pre codeblock"
id="impala_unnest_views__codeblock_krf_rrb_3cc"><code>SELECT a1.item, a2.item
+FROM complextypes_arrays t, UNNEST(t.arr1, t.arr2) AS (a1, a2);
+</code></pre>
+ <ul class="ul" id="impala_unnest_views__ul_lrf_rrb_3cc">
+ <li class="li">Postgres compatible syntax</li>
+
+ </ul>
+
+ <pre class="pre codeblock"
id="impala_unnest_views__codeblock_mrf_rrb_3cc"><code>SELECT UNNEST(arr1),
UNNEST(arr2) FROM complextypes_arrays;</code></pre>
+ <p class="p">When unnesting multiple arrays with zipping unnest, the
i'th item of one array will be
+ placed next to the i'th item of the other arrays in the results. If
the size of the arrays
+ is not equal then the shorter arrays will be filled with NULL values
up to the size of the
+ longest array as shown in the following example:</p>
+
+ <p class="p">The test data used in this example is arr1: {1, 2, 3},
arr2: {11, 12}</p>
+
+ <p class="p">After running any of the queries listed in the examples,
the result will be as shown
+ here:</p>
+
+ <div class="p">
+ <pre class="pre codeblock"
id="impala_unnest_views__codeblock_n5z_cjq_mtb"><code>arr1 arr2
+[1, 11]
+[2, 12]
+[3, NULL]
+</code></pre>
+ </div>
+
+ </div>
+
+ <div class="section" id="impala_unnest_views__section_ifc_trb_3cc"><h2
class="title sectiontitle">Example of an UNNEST() in an inline view using
SELECT/FILTER of the inline view</h2>
+
+ <p class="p">In the following example the filter is not in the <code
class="ph codeph">SELECT</code> query that
+ creates the inline view but a level above that.</p>
+
+ <pre class="pre codeblock"
id="impala_unnest_views__codeblock_jfc_trb_3cc"><code>SELECT id, ac1, ac2 FROM
(SELECT id, UNNEST(array_col1) AS ac1, UNNEST(array_col2) AS ac2 FROM
some_view) WHERE id <10;
+</code></pre>
+ </div>
+
+ </div>
+
+<div class="related-links">
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a class="link"
href="../topics/impala_complex_types.html">Complex Types (Impala 2.3 or higher
only)</a></div>
+</div>
+</div></body>
+</html>
\ No newline at end of file
diff --git a/docs/build/plain-html/topics/impala_use_null_slots_cache.html
b/docs/build/plain-html/topics/impala_use_null_slots_cache.html
new file mode 100644
index 000000000..ae8e213a7
--- /dev/null
+++ b/docs/build/plain-html/topics/impala_use_null_slots_cache.html
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+
+<meta name="copyright" content="(C) Copyright 2024" />
+<meta name="DC.rights.owner" content="(C) Copyright 2024" />
+<meta name="DC.Type" content="concept" />
+<meta name="DC.Title" content="USE_NULL_SLOTS_CACHE Query Option" />
+<meta name="DC.Relation" scheme="URI" content="../topics/impala_set.html" />
+<meta name="prodname" content="Impala" />
+<meta name="version" content="Impala 3.4.x" />
+<meta name="DC.Format" content="XHTML" />
+<meta name="DC.Identifier" content="use_null_slots_cache" />
+<link rel="stylesheet" type="text/css" href="../commonltr.css" />
+<title>USE_NULL_SLOTS_CACHE Query Option</title>
+</head>
+<body id="use_null_slots_cache">
+
+
+ <h1 class="title topictitle1" id="ariaid-title1">USE_NULL_SLOTS_CACHE Query
Option</h1>
+
+
+
+
+ <div class="body conbody">
+ <p class="p">
+ Impala
+ optimizes expressions that contain null-rejecting conjuncts - expressions
that are
+ false if all "slots" (values returned from a table) are <code class="ph
codeph">NULL</code>.
+ Evaluating whether a conjunct is null-rejecting can be expensive when
performed over a
+ lot of expressions. The "null slots cache" speeds analysis of generated
queries with
+ many similar expressions by caching the result of evaluating an expression
after slots
+ have been replaced with <code class="ph codeph">NULL</code>s.
+ </p>
+
+
+ <p class="p">
+ If query analysis uses a lot of memory, performance of the "null slots
cache" can be
+ reviewed by enabling logging <code class="ph
codeph">org.apache.impala.analysis.Analyzer=DEBUG</code>
+ and searching coordinator logs for messages like
+ </p>
+
+
+<pre class="pre codeblock"><code>
+null slots cache size: 286, median entry: 4416.0, 99th entry: 252688.88, hit
rate: 0.99456364
+</code></pre>
+
+ <p class="p"><strong class="ph b">Type: </strong>BOOLEAN</p>
+
+ <p class="p"><strong class="ph b">Default: </strong>TRUE</p>
+
+ <p class="p"><strong class="ph b">Added in: </strong>Impala 4.5</p>
+
+ </div>
+
+<div class="related-links">
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a class="link"
href="../topics/impala_set.html">SET Statement</a></div>
+</div>
+</div></body>
+</html>
\ No newline at end of file