doc-exports/docs/dws/dev/dws_06_0328.html
Lu, Huayi e6fa411af0 DWS DEV 830.201 version
Reviewed-by: Pruthi, Vineet <vineet.pruthi@t-systems.com>
Co-authored-by: Lu, Huayi <luhuayi@huawei.com>
Co-committed-by: Lu, Huayi <luhuayi@huawei.com>
2024-05-16 07:24:04 +00:00

121 lines
12 KiB
HTML

<a name="EN-US_TOPIC_0000001495186365"></a><a name="EN-US_TOPIC_0000001495186365"></a>
<h1 class="topictitle1">Precision Functions</h1>
<div id="body0000001495186365"><p id="EN-US_TOPIC_0000001495186365__p1459914424415">HLL supports <strong id="EN-US_TOPIC_0000001495186365__b15100910249391">explicit</strong>, <strong id="EN-US_TOPIC_0000001495186365__b833336709391">sparse</strong>, and <strong id="EN-US_TOPIC_0000001495186365__b16107547429391">full</strong> modes. <strong id="EN-US_TOPIC_0000001495186365__b21287976709391">explicit</strong> and <strong id="EN-US_TOPIC_0000001495186365__b4468356269391">sparse</strong> excel when the data scale is small, and barely produce errors in calculation results. When the number of distinct values increases, <strong id="EN-US_TOPIC_0000001495186365__b12560690939391">full</strong> becomes more suitable, but produces some errors. The following functions are used to view precision parameters in HLLs.</p>
<div class="section" id="EN-US_TOPIC_0000001495186365__section89375209557"><h4 class="sectiontitle">hll_schema_version(hll)</h4><p id="EN-US_TOPIC_0000001495186365__p131926551716">Description: Checks the schema version in the current HLL.</p>
<p id="EN-US_TOPIC_0000001495186365__p1445123024218">Return type: integer</p>
<p id="EN-US_TOPIC_0000001495186365__p1764011597819">Example:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001495186365__screen118593201792"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">hll_schema_version</span><span class="p">(</span><span class="n">hll_empty</span><span class="p">());</span>
<span class="w"> </span><span class="n">hll_schema_version</span><span class="w"> </span>
<span class="c1">--------------------</span>
<span class="w"> </span><span class="mi">1</span>
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
</pre></div></td></tr></table></div>
</div>
</div>
<div class="section" id="EN-US_TOPIC_0000001495186365__section6756152917555"><h4 class="sectiontitle">hll_type(hll)</h4><p id="EN-US_TOPIC_0000001495186365__p131220381690">Description: Checks the type of the current HLL.</p>
<p id="EN-US_TOPIC_0000001495186365__p37171286432">Return type: integer</p>
<p id="EN-US_TOPIC_0000001495186365__p11497205914912">Example:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001495186365__screen13543173010106"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">hll_type</span><span class="p">(</span><span class="n">hll_empty</span><span class="p">());</span>
<span class="w"> </span><span class="n">hll_type</span><span class="w"> </span>
<span class="c1">----------</span>
<span class="w"> </span><span class="mi">1</span>
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
</pre></div></td></tr></table></div>
</div>
</div>
<div class="section" id="EN-US_TOPIC_0000001495186365__section14624114011559"><h4 class="sectiontitle">hll_log2m(hll)</h4><p id="EN-US_TOPIC_0000001495186365__p8498143517260">Description: Check the value of log2m of the current HLL. This value affects the error rate in calculating the number of distinct values by the HLL. The formula for calculating the error rate is as follows:</p>
<p id="EN-US_TOPIC_0000001495186365__p35854337613"><span><img id="EN-US_TOPIC_0000001495186365__image1568415491471" src="figure/en-us_image_0000001495204945.png"></span></p>
<p id="EN-US_TOPIC_0000001495186365__p1537811417446">Return type: integer</p>
<p id="EN-US_TOPIC_0000001495186365__p894785514132">Example:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001495186365__screen119003918144"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">hll_log2m</span><span class="p">(</span><span class="n">hll_empty</span><span class="p">());</span>
<span class="w"> </span><span class="n">hll_log2m</span><span class="w"> </span>
<span class="c1">-----------</span>
<span class="w"> </span><span class="mi">11</span>
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
</pre></div></td></tr></table></div>
</div>
</div>
<div class="section" id="EN-US_TOPIC_0000001495186365__section1863193835919"><h4 class="sectiontitle">hll_regwidth(hll)</h4><p id="EN-US_TOPIC_0000001495186365__p154161231161410">Description: Checks the number of bits of buckets in a hll data structure.</p>
<p id="EN-US_TOPIC_0000001495186365__p125892027124417">Return type: integer</p>
<p id="EN-US_TOPIC_0000001495186365__p1693117529148">Example:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001495186365__screen47445105156"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">hll_regwidth</span><span class="p">(</span><span class="n">hll_empty</span><span class="p">());</span>
<span class="w"> </span><span class="n">hll_regwidth</span>
<span class="c1">--------------</span>
<span class="w"> </span><span class="mi">5</span>
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
</pre></div></td></tr></table></div>
</div>
</div>
<div class="section" id="EN-US_TOPIC_0000001495186365__section6362163618594"><h4 class="sectiontitle">hll_expthresh(hll)</h4><p id="EN-US_TOPIC_0000001495186365__p5745731101514">Description: Obtains the size of <strong id="EN-US_TOPIC_0000001495186365__b19465269749391">expthresh</strong> in the current HLL. An HLL usually switches from the <strong id="EN-US_TOPIC_0000001495186365__b7077541759391">explicit</strong> mode to the <strong id="EN-US_TOPIC_0000001495186365__b11140623729391">sparse</strong> mode and then to the <strong id="EN-US_TOPIC_0000001495186365__b15957983779391">full</strong> mode. This process is called the promotion hierarchy policy. You can change the value of <strong id="EN-US_TOPIC_0000001495186365__b18522649019391">expthresh</strong> to change the policy. For example, if <strong id="EN-US_TOPIC_0000001495186365__b15543751209391">expthresh</strong> is <strong id="EN-US_TOPIC_0000001495186365__b6863775999391">0</strong>, an HILL will skip the <strong id="EN-US_TOPIC_0000001495186365__b8775689569391">explicit</strong> mode and directly enter the <strong id="EN-US_TOPIC_0000001495186365__b16265516899391">sparse</strong> mode. If the value of <strong id="EN-US_TOPIC_0000001495186365__b9731791899391">expthresh</strong> is explicitly set to a value ranging from 1 to 7, this function returns 2<sup id="EN-US_TOPIC_0000001495186365__sup6612894729391">expthresh</sup>.</p>
<p id="EN-US_TOPIC_0000001495186365__p19621155913236">Return type: record</p>
<p id="EN-US_TOPIC_0000001495186365__p1594874916153">Example:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001495186365__screen14338910101614"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
<span class="normal"> 2</span>
<span class="normal"> 3</span>
<span class="normal"> 4</span>
<span class="normal"> 5</span>
<span class="normal"> 6</span>
<span class="normal"> 7</span>
<span class="normal"> 8</span>
<span class="normal"> 9</span>
<span class="normal">10</span>
<span class="normal">11</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">hll_expthresh</span><span class="p">(</span><span class="n">hll_empty</span><span class="p">());</span>
<span class="w"> </span><span class="n">hll_expthresh</span><span class="w"> </span>
<span class="c1">---------------</span>
<span class="w"> </span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="mi">160</span><span class="p">)</span>
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">hll_expthresh</span><span class="p">(</span><span class="n">hll_empty</span><span class="p">(</span><span class="mi">11</span><span class="p">,</span><span class="mi">5</span><span class="p">,</span><span class="mi">3</span><span class="p">));</span>
<span class="w"> </span><span class="n">hll_expthresh</span><span class="w"> </span>
<span class="c1">---------------</span>
<span class="w"> </span><span class="p">(</span><span class="mi">8</span><span class="p">,</span><span class="mi">8</span><span class="p">)</span>
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
</pre></div></td></tr></table></div>
</div>
</div>
<div class="section" id="EN-US_TOPIC_0000001495186365__section10353933135915"><h4 class="sectiontitle">hll_sparseon(hll)</h4><p id="EN-US_TOPIC_0000001495186365__p19838823171611">Description: Specifies whether to enable the <strong id="EN-US_TOPIC_0000001495186365__b3687722659391">sparse</strong> mode. <strong id="EN-US_TOPIC_0000001495186365__b18252771359391">0</strong> indicates <strong id="EN-US_TOPIC_0000001495186365__b14655847159391">off</strong> and <strong id="EN-US_TOPIC_0000001495186365__b20650501719391">1</strong> indicates <strong id="EN-US_TOPIC_0000001495186365__b9147329889391">on</strong>.</p>
<p id="EN-US_TOPIC_0000001495186365__p48498347476">Return type: integer</p>
<p id="EN-US_TOPIC_0000001495186365__p2071413457163">Example:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001495186365__screen1380847151712"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">hll_sparseon</span><span class="p">(</span><span class="n">hll_empty</span><span class="p">());</span>
<span class="w"> </span><span class="n">hll_sparseon</span>
<span class="c1">--------------</span>
<span class="w"> </span><span class="mi">1</span>
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
</pre></div></td></tr></table></div>
</div>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="dws_06_0042.html">HLL Functions and Operators</a></div>
</div>
</div>