forked from docs/doc-exports
Reviewed-by: Pruthi, Vineet <vineet.pruthi@t-systems.com> Co-authored-by: Su, Xiaomeng <suxiaomeng1@huawei.com> Co-committed-by: Su, Xiaomeng <suxiaomeng1@huawei.com>
73 lines
15 KiB
HTML
73 lines
15 KiB
HTML
<a name="dli_08_0121"></a><a name="dli_08_0121"></a>
|
|
|
|
<h1 class="topictitle1">Querying an HBase Table</h1>
|
|
<div id="body1578361312449"><p id="dli_08_0121__en-us_topic_0114776215_en-us_topic_0114689142_af7983162fc32438d819f21191736d15d">This statement is used to query data in an HBase table.</p>
|
|
<div class="section" id="dli_08_0121__en-us_topic_0114776215_en-us_topic_0114689142_s452ed7223e30489e8c84908d006db5f1"><h4 class="sectiontitle">Syntax</h4><div class="codecoloring" codetype="Sql" id="dli_08_0121__en-us_topic_0114776215_screen1839152411161"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">table_name</span><span class="w"> </span><span class="k">LIMIT</span><span class="w"> </span><span class="nb">number</span><span class="p">;</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="dli_08_0121__en-us_topic_0114776215_en-us_topic_0114689142_s022cdf3e3b794ef6ab379c57a6312479"><h4 class="sectiontitle">Keywords</h4><p id="dli_08_0121__en-us_topic_0114776215_en-us_topic_0114689142_p33843242274">LIMIT is used to limit the query results. Only INT type is supported by the <strong id="dli_08_0121__en-us_topic_0093946751_b842352706163741">number</strong> parameter.</p>
|
|
</div>
|
|
<div class="section" id="dli_08_0121__en-us_topic_0114776215_en-us_topic_0114689142_sd02019d1afd4479d811d4fc5cb2be648"><h4 class="sectiontitle">Precautions</h4><p id="dli_08_0121__en-us_topic_0114776215_p10675164612358">The table to be queried must exist. Otherwise, an error is reported.</p>
|
|
</div>
|
|
<div class="section" id="dli_08_0121__en-us_topic_0114776215_en-us_topic_0114689142_s18c3289e82d94522b31bbdc7d2aae3ed"><h4 class="sectiontitle">Example</h4><p id="dli_08_0121__en-us_topic_0114776215_en-us_topic_0114689142_ab3da007974a548888c2e36ddd6e01c43">Query data in the <strong id="dli_08_0121__b982910460354">test_ct</strong> table.</p>
|
|
<div class="codecoloring" codetype="Sql" id="dli_08_0121__en-us_topic_0114776215_screen338835131617"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">test_hbase</span><span class="w"> </span><span class="k">limit</span><span class="w"> </span><span class="mi">100</span><span class="p">;</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="dli_08_0121__en-us_topic_0114776215_section19701428152410"><h4 class="sectiontitle">Query Pushdown</h4><p id="dli_08_0121__en-us_topic_0114776215_p341673952410">Query pushdown implements data filtering using HBase. Specifically, the HBase Client sends filtering conditions to the HBase server, and the HBase server returns only the required data, speeding up your Spark SQL queries. For the filter criteria that HBase does not support, for example, query with the composite row key, Spark SQL performs data filtering.</p>
|
|
<ul id="dli_08_0121__en-us_topic_0114776215_ul8498174133414"><li id="dli_08_0121__en-us_topic_0114776215_li1449816403416">Scenarios where query pushdown is supported<ul id="dli_08_0121__en-us_topic_0114776215_ul17983819173414"><li id="dli_08_0121__en-us_topic_0114776215_li020971718347">Query pushdown can be performed on data of the following types:<ul id="dli_08_0121__en-us_topic_0114776215_ul19307143133419"><li id="dli_08_0121__en-us_topic_0114776215_li1475322863417">Int</li><li id="dli_08_0121__en-us_topic_0114776215_li14448173643410">boolean</li><li id="dli_08_0121__en-us_topic_0114776215_li6944046103414">short</li><li id="dli_08_0121__en-us_topic_0114776215_li2093335153410">long</li><li id="dli_08_0121__en-us_topic_0114776215_li4734155516342">double</li><li id="dli_08_0121__en-us_topic_0114776215_li336181113516">string</li></ul>
|
|
<div class="note" id="dli_08_0121__en-us_topic_0114776215_note19542853514"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="dli_08_0121__en-us_topic_0114776215_p1916022194814">Data of the float type does not support query pushdown.</p>
|
|
</div></div>
|
|
</li><li id="dli_08_0121__en-us_topic_0114776215_li426643213389">Query pushdown is not supported for the following filter criteria:<ul id="dli_08_0121__en-us_topic_0114776215_ul11782863915"><li id="dli_08_0121__en-us_topic_0114776215_li61017715399">>, <, >=, <=, =, !=, and, or<p id="dli_08_0121__en-us_topic_0114776215_p15863113211711"><a name="dli_08_0121__en-us_topic_0114776215_li61017715399"></a><a name="en-us_topic_0114776215_li61017715399"></a>The following is an example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="dli_08_0121__en-us_topic_0114776215_screen13225193831713"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">select</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">tableName</span><span class="w"> </span><span class="k">where</span><span class="w"> </span><span class="p">(</span><span class="n">column1</span><span class="w"> </span><span class="o">>=</span><span class="w"> </span><span class="n">value1</span><span class="w"> </span><span class="k">and</span><span class="w"> </span><span class="n">column2</span><span class="o"><=</span><span class="w"> </span><span class="n">value2</span><span class="p">)</span><span class="w"> </span><span class="k">or</span><span class="w"> </span><span class="n">column3</span><span class="w"> </span><span class="o">!=</span><span class="w"> </span><span class="n">value3</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</li><li id="dli_08_0121__en-us_topic_0114776215_li17621440134111">The filtering conditions are <strong id="dli_08_0121__b1983341013613">like</strong> and <strong id="dli_08_0121__b1283331015361">not like</strong>. The prefix, suffix, and inclusion match are supported.<p id="dli_08_0121__en-us_topic_0114776215_p20829182013302">The following is an example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="dli_08_0121__en-us_topic_0114776215_screen13866929183015"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">select</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">tableName</span><span class="w"> </span><span class="k">where</span><span class="w"> </span><span class="n">column1</span><span class="w"> </span><span class="k">like</span><span class="w"> </span><span class="ss">"%value"</span><span class="w"> </span><span class="k">or</span><span class="w"> </span><span class="n">column2</span><span class="w"> </span><span class="k">like</span><span class="w"> </span><span class="ss">"value%"</span><span class="w"> </span><span class="k">or</span><span class="w"> </span><span class="n">column3</span><span class="w"> </span><span class="k">like</span><span class="w"> </span><span class="ss">"%value%"</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</li><li id="dli_08_0121__en-us_topic_0114776215_li1352942524318">IsNotNull()<p id="dli_08_0121__en-us_topic_0114776215_p55961152153910"><a name="dli_08_0121__en-us_topic_0114776215_li1352942524318"></a><a name="en-us_topic_0114776215_li1352942524318"></a>The following is an example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="dli_08_0121__en-us_topic_0114776215_screen183481420501"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">select</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">tableName</span><span class="w"> </span><span class="k">where</span><span class="w"> </span><span class="n">IsNotNull</span><span class="p">(</span><span class="k">column</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</li><li id="dli_08_0121__en-us_topic_0114776215_li38892644519">in and not in<p id="dli_08_0121__en-us_topic_0114776215_p791111114316"><a name="dli_08_0121__en-us_topic_0114776215_li38892644519"></a><a name="en-us_topic_0114776215_li38892644519"></a>The following is an example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="dli_08_0121__en-us_topic_0114776215_screen16532211439"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">select</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">tableName</span><span class="w"> </span><span class="k">where</span><span class="w"> </span><span class="n">column1</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="p">(</span><span class="n">value1</span><span class="p">,</span><span class="n">value2</span><span class="p">,</span><span class="n">value3</span><span class="p">)</span><span class="w"> </span><span class="k">and</span><span class="w"> </span><span class="n">column2</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="p">(</span><span class="n">value4</span><span class="p">,</span><span class="n">value5</span><span class="p">,</span><span class="n">value6</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</li><li id="dli_08_0121__en-us_topic_0114776215_li1859153212466">between _ and _<p id="dli_08_0121__en-us_topic_0114776215_p1284113117319"><a name="dli_08_0121__en-us_topic_0114776215_li1859153212466"></a><a name="en-us_topic_0114776215_li1859153212466"></a>The following is an example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="dli_08_0121__en-us_topic_0114776215_screen17348134110313"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">select</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">tableName</span><span class="w"> </span><span class="k">where</span><span class="w"> </span><span class="n">column1</span><span class="w"> </span><span class="k">between</span><span class="w"> </span><span class="n">value1</span><span class="w"> </span><span class="k">and</span><span class="w"> </span><span class="n">value2</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</li><li id="dli_08_0121__en-us_topic_0114776215_li11104513523">Filtering of the row sub-keys in the composite row key<p id="dli_08_0121__en-us_topic_0114776215_p9451788541"><a name="dli_08_0121__en-us_topic_0114776215_li11104513523"></a><a name="en-us_topic_0114776215_li11104513523"></a>For example, to perform row sub-key query on the composite row key <strong id="dli_08_0121__b1283652753619">column1+column2+column3</strong>, run the following statement:</p>
|
|
<div class="codecoloring" codetype="Sql" id="dli_08_0121__en-us_topic_0114776215_screen191111359525"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">select</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">tableName</span><span class="w"> </span><span class="k">where</span><span class="w"> </span><span class="n">column1</span><span class="o">=</span><span class="w"> </span><span class="n">value1</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</li></ul>
|
|
</li></ul>
|
|
</li><li id="dli_08_0121__en-us_topic_0114776215_li0673489486">Scenarios where query pushdown is not supported<ul id="dli_08_0121__en-us_topic_0114776215_ul208268154493"><li id="dli_08_0121__en-us_topic_0114776215_li8492312134919">Query pushdown can be performed on data of the following types:<p id="dli_08_0121__en-us_topic_0114776215_p87680265495"><a name="dli_08_0121__en-us_topic_0114776215_li8492312134919"></a><a name="en-us_topic_0114776215_li8492312134919"></a>Except for the preceding data types where query pushdown is supported, data of other types does not support query pushdown.</p>
|
|
</li><li id="dli_08_0121__en-us_topic_0114776215_li117921847195012">Query pushdown is not supported for the following filter criteria:<ul id="dli_08_0121__en-us_topic_0114776215_ul4623111013516"><li id="dli_08_0121__en-us_topic_0114776215_li161563335112">Length, count, max, min, join, groupby, orderby, limit, and avg</li><li id="dli_08_0121__en-us_topic_0114776215_li124911327135217">Column comparison<p id="dli_08_0121__en-us_topic_0114776215_p68190019103"><a name="dli_08_0121__en-us_topic_0114776215_li124911327135217"></a><a name="en-us_topic_0114776215_li124911327135217"></a>The following is an example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="dli_08_0121__en-us_topic_0114776215_screen20848158171019"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">select</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">tableName</span><span class="w"> </span><span class="k">where</span><span class="w"> </span><span class="n">column1</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="p">(</span><span class="n">column2</span><span class="o">+</span><span class="n">column3</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</li></ul>
|
|
</li></ul>
|
|
</li></ul>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<div class="familylinks">
|
|
<div class="parentlink"><strong>Parent topic:</strong> <a href="dli_08_0118.html">Creating a Datasource Connection with an HBase Table</a></div>
|
|
</div>
|
|
</div>
|
|
|