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 
&lt; 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 &lt;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 
&lt; 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 &lt;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


Reply via email to