Files
doc-exports/docs/dws/dev/dws_06_0359.html
luhuayi 177cd61a57 DWS DEVG 910.211 version
Reviewed-by: Pruthi, Vineet <vineet.pruthi@t-systems.com>
Co-authored-by: luhuayi <luhuayi@huawei.com>
Co-committed-by: luhuayi <luhuayi@huawei.com>
2025-05-05 07:44:03 +00:00

375 lines
71 KiB
HTML

<a name="EN-US_TOPIC_0000001764675122"></a><a name="EN-US_TOPIC_0000001764675122"></a>
<h1 class="topictitle1">Hudi System Functions</h1>
<div id="body0000001598264289"><p id="EN-US_TOPIC_0000001764675122__p3695727101014">Hudi system functions are supported only by 8.2.1.100 and later versions.</p>
<div class="section" id="EN-US_TOPIC_0000001764675122__section8969201417559"><h4 class="sectiontitle">pg_show_custom_settings()</h4><p id="EN-US_TOPIC_0000001764675122__p49691214135510">Description: Queries details about Hudi foreign table parameter settings.</p>
<p id="EN-US_TOPIC_0000001764675122__p3969414155510">Return type: SETOF record</p>
<p id="EN-US_TOPIC_0000001764675122__p096917147554">Example:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001764675122__screen996911416556"><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>
<span class="normal">12</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">pg_show_custom_settings</span><span class="p">();</span>
<span class="w"> </span><span class="n">name</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">setting</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">unit</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">category</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">short_desc</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">extra_desc</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">context</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">vartype</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">source</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">min_val</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">max_val</span><span class="w"> </span><span class="o">|</span>
<span class="w"> </span><span class="n">enumvals</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">boot_val</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">reset_val</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">sourcefile</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">sourceline</span>
<span class="c1">----------------------------------------------------+-------------------+------+--------------------+--------------------------+------------+---------+---------+---------+---------+---------+</span>
<span class="c1">----------+----------+-----------+------------+------------</span>
<span class="w"> </span><span class="n">hoodie</span><span class="p">.</span><span class="k">public</span><span class="p">.</span><span class="n">hudi_mor_ft</span><span class="p">.</span><span class="n">consume</span><span class="p">.</span><span class="n">ending</span><span class="p">.</span><span class="k">timestamp</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">20230404172329544</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">Customized</span><span class="w"> </span><span class="k">Options</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">GUC</span><span class="w"> </span><span class="n">placeholder</span><span class="w"> </span><span class="k">variable</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">user</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">string</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">session</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span>
<span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span>
<span class="w"> </span><span class="n">hoodie</span><span class="p">.</span><span class="k">public</span><span class="p">.</span><span class="n">hudi_mor_ft</span><span class="p">.</span><span class="n">consume</span><span class="p">.</span><span class="k">mode</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">incremental</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">Customized</span><span class="w"> </span><span class="k">Options</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">GUC</span><span class="w"> </span><span class="n">placeholder</span><span class="w"> </span><span class="k">variable</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">user</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">string</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">session</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span>
<span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span>
<span class="w"> </span><span class="n">hoodie</span><span class="p">.</span><span class="k">public</span><span class="p">.</span><span class="n">hudi_mor_ft</span><span class="p">.</span><span class="n">consume</span><span class="p">.</span><span class="k">start</span><span class="p">.</span><span class="k">timestamp</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">20230404172329543</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">Customized</span><span class="w"> </span><span class="k">Options</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">GUC</span><span class="w"> </span><span class="n">placeholder</span><span class="w"> </span><span class="k">variable</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">user</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">string</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">session</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span>
<span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span>
<span class="p">(</span><span class="mi">3</span><span class="w"> </span><span class="k">rows</span><span class="p">)</span>
</pre></div></td></tr></table></div>
</div>
</div>
<div class="section" id="EN-US_TOPIC_0000001764675122__section768914169562"><h4 class="sectiontitle">hudi_get_options(regclass)</h4><p id="EN-US_TOPIC_0000001764675122__p4689171611568">Description: Queries the properties of a Hudi foreign table (hoodie.properties). It is represented by a key-value pair.</p>
<p id="EN-US_TOPIC_0000001764675122__p1568911615568">Return type: SETOF record</p>
<p id="EN-US_TOPIC_0000001764675122__p9689171619560">Example:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001764675122__screen1068916162562"><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>
<span class="normal">12</span>
<span class="normal">13</span>
<span class="normal">14</span>
<span class="normal">15</span>
<span class="normal">16</span>
<span class="normal">17</span>
<span class="normal">18</span>
<span class="normal">19</span>
<span class="normal">20</span>
<span class="normal">21</span>
<span class="normal">22</span>
<span class="normal">23</span>
<span class="normal">24</span>
<span class="normal">25</span>
<span class="normal">26</span>
<span class="normal">27</span>
<span class="normal">28</span>
<span class="normal">29</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">hudi_get_options</span><span class="p">(</span><span class="s1">'public.hudi_mor_ft'</span><span class="p">);</span>
<span class="w"> </span><span class="k">key</span><span class="w"> </span><span class="o">|</span>
<span class="w"> </span><span class="n">value</span>
<span class="c1">-------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------</span>
<span class="c1">-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
<span class="c1">-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
<span class="c1">--------------------------------------------------------</span>
<span class="w"> </span><span class="n">hoodie</span><span class="p">.</span><span class="k">table</span><span class="p">.</span><span class="n">precombine</span><span class="p">.</span><span class="n">field</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">col_int</span>
<span class="w"> </span><span class="n">hoodie</span><span class="p">.</span><span class="n">datasource</span><span class="p">.</span><span class="k">write</span><span class="p">.</span><span class="k">drop</span><span class="p">.</span><span class="n">partition</span><span class="p">.</span><span class="n">columns</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">false</span>
<span class="w"> </span><span class="n">hoodie</span><span class="p">.</span><span class="k">table</span><span class="p">.</span><span class="n">partition</span><span class="p">.</span><span class="n">fields</span><span class="w"> </span><span class="o">|</span>
<span class="w"> </span><span class="n">hoodie</span><span class="p">.</span><span class="k">table</span><span class="p">.</span><span class="k">type</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">MERGE_ON_READ</span>
<span class="w"> </span><span class="n">hoodie</span><span class="p">.</span><span class="n">archivelog</span><span class="p">.</span><span class="n">folder</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">archived</span>
<span class="w"> </span><span class="n">hoodie</span><span class="p">.</span><span class="n">compaction</span><span class="p">.</span><span class="n">payload</span><span class="p">.</span><span class="k">class</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">hudi</span><span class="p">.</span><span class="n">common</span><span class="p">.</span><span class="n">model</span><span class="p">.</span><span class="n">OverwriteWithLatestAvroPayload</span>
<span class="w"> </span><span class="n">hoodie</span><span class="p">.</span><span class="n">timeline</span><span class="p">.</span><span class="n">layout</span><span class="p">.</span><span class="k">version</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">1</span>
<span class="w"> </span><span class="n">hoodie</span><span class="p">.</span><span class="k">table</span><span class="p">.</span><span class="k">version</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">4</span>
<span class="w"> </span><span class="n">hoodie</span><span class="p">.</span><span class="k">table</span><span class="p">.</span><span class="n">recordkey</span><span class="p">.</span><span class="n">fields</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">col_bigint</span>
<span class="w"> </span><span class="n">hoodie</span><span class="p">.</span><span class="k">database</span><span class="p">.</span><span class="n">name</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">default</span>
<span class="w"> </span><span class="n">hoodie</span><span class="p">.</span><span class="n">datasource</span><span class="p">.</span><span class="k">write</span><span class="p">.</span><span class="n">partitionpath</span><span class="p">.</span><span class="n">urlencode</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">false</span>
<span class="w"> </span><span class="n">hoodie</span><span class="p">.</span><span class="k">table</span><span class="p">.</span><span class="n">name</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">lt_test_mor_014</span>
<span class="w"> </span><span class="n">hoodie</span><span class="p">.</span><span class="k">table</span><span class="p">.</span><span class="n">keygenerator</span><span class="p">.</span><span class="k">class</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">hudi</span><span class="p">.</span><span class="n">keygen</span><span class="p">.</span><span class="n">ComplexKeyGenerator</span>
<span class="w"> </span><span class="n">hoodie</span><span class="p">.</span><span class="n">datasource</span><span class="p">.</span><span class="k">write</span><span class="p">.</span><span class="n">hive_style_partitioning</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">true</span>
<span class="w"> </span><span class="n">hoodie</span><span class="p">.</span><span class="k">table</span><span class="p">.</span><span class="k">create</span><span class="p">.</span><span class="k">schema</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="ss">&quot;type&quot;</span><span class="err">\</span><span class="p">:</span><span class="ss">&quot;record&quot;</span><span class="p">,</span><span class="ss">&quot;name&quot;</span><span class="err">\</span><span class="p">:</span><span class="ss">&quot;lt_test_mor_014_record&quot;</span><span class="p">,</span><span class="ss">&quot;namespace&quot;</span><span class="err">\</span><span class="p">:</span><span class="ss">&quot;hoodie.lt_test_mor_014&quot;</span><span class="p">,</span><span class="ss">&quot;fields&quot;</span><span class="err">\</span><span class="p">:[</span><span class="err">{</span><span class="ss">&quot;name&quot;</span><span class="err">\</span><span class="p">:</span><span class="ss">&quot;_hoodie_commit_time&quot;</span><span class="p">,</span><span class="ss">&quot;type&quot;</span><span class="err">\</span><span class="p">:[</span>
<span class="ss">&quot;string&quot;</span><span class="p">,</span><span class="ss">&quot;null&quot;</span><span class="p">]</span><span class="err">}</span><span class="p">,</span><span class="err">{</span><span class="ss">&quot;name&quot;</span><span class="err">\</span><span class="p">:</span><span class="ss">&quot;_hoodie_commit_seqno&quot;</span><span class="p">,</span><span class="ss">&quot;type&quot;</span><span class="err">\</span><span class="p">:[</span><span class="ss">&quot;string&quot;</span><span class="p">,</span><span class="ss">&quot;null&quot;</span><span class="p">]</span><span class="err">}</span><span class="p">,</span><span class="err">{</span><span class="ss">&quot;name&quot;</span><span class="err">\</span><span class="p">:</span><span class="ss">&quot;_hoodie_record_key&quot;</span><span class="p">,</span><span class="ss">&quot;type&quot;</span><span class="err">\</span><span class="p">:[</span><span class="ss">&quot;string&quot;</span><span class="p">,</span><span class="ss">&quot;null&quot;</span><span class="p">]</span><span class="err">}</span><span class="p">,</span><span class="err">{</span><span class="ss">&quot;name&quot;</span><span class="err">\</span><span class="p">:</span><span class="ss">&quot;_hoodie_partition_path&quot;</span><span class="p">,</span><span class="ss">&quot;type&quot;</span><span class="err">\</span><span class="p">:[</span><span class="ss">&quot;string&quot;</span><span class="p">,</span><span class="ss">&quot;null</span>
<span class="ss">&quot;</span><span class="p">]</span><span class="err">}</span><span class="p">,</span><span class="err">{</span><span class="ss">&quot;name&quot;</span><span class="err">\</span><span class="p">:</span><span class="ss">&quot;_hoodie_file_name&quot;</span><span class="p">,</span><span class="ss">&quot;type&quot;</span><span class="err">\</span><span class="p">:[</span><span class="ss">&quot;string&quot;</span><span class="p">,</span><span class="ss">&quot;null&quot;</span><span class="p">]</span><span class="err">}</span><span class="p">,</span><span class="err">{</span><span class="ss">&quot;name&quot;</span><span class="err">\</span><span class="p">:</span><span class="ss">&quot;col_bigint&quot;</span><span class="p">,</span><span class="ss">&quot;type&quot;</span><span class="err">\</span><span class="p">:[</span><span class="ss">&quot;long&quot;</span><span class="p">,</span><span class="ss">&quot;null&quot;</span><span class="p">]</span><span class="err">}</span><span class="p">,</span><span class="err">{</span><span class="ss">&quot;name&quot;</span><span class="err">\</span><span class="p">:</span><span class="ss">&quot;col_int&quot;</span><span class="p">,</span><span class="ss">&quot;type&quot;</span><span class="err">\</span><span class="p">:[</span><span class="ss">&quot;int&quot;</span><span class="p">,</span><span class="ss">&quot;null&quot;</span><span class="p">]</span><span class="err">}</span><span class="p">,</span><span class="err">{</span><span class="ss">&quot;name&quot;</span><span class="err">\</span><span class="p">:</span><span class="ss">&quot;col_text&quot;</span><span class="p">,</span><span class="ss">&quot;type&quot;</span><span class="err">\</span><span class="p">:[</span><span class="ss">&quot;string&quot;</span><span class="p">,</span><span class="ss">&quot;nu</span>
<span class="ss">ll&quot;</span><span class="p">]</span><span class="err">}</span><span class="p">,</span><span class="err">{</span><span class="ss">&quot;name&quot;</span><span class="err">\</span><span class="p">:</span><span class="ss">&quot;col_text2&quot;</span><span class="p">,</span><span class="ss">&quot;type&quot;</span><span class="err">\</span><span class="p">:[</span><span class="ss">&quot;string&quot;</span><span class="p">,</span><span class="ss">&quot;null&quot;</span><span class="p">]</span><span class="err">}</span><span class="p">]</span><span class="err">}</span>
<span class="w"> </span><span class="n">hoodie</span><span class="p">.</span><span class="k">table</span><span class="p">.</span><span class="n">checksum</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">515660817</span>
<span class="p">(</span><span class="mi">16</span><span class="w"> </span><span class="k">rows</span><span class="p">)</span>
</pre></div></td></tr></table></div>
</div>
</div>
<div class="section" id="EN-US_TOPIC_0000001764675122__section1982219311561"><h4 class="sectiontitle">hudi_get_max_commit(regclass)</h4><p id="EN-US_TOPIC_0000001764675122__p108222031135616">Description: This function retrieves the most recent commit timestamp and data write time for the current Hudi external table.</p>
<p id="EN-US_TOPIC_0000001764675122__p1582243115610">Return type: record</p>
<p id="EN-US_TOPIC_0000001764675122__p1382214313563">Example:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001764675122__screen5822163111568"><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="o">*</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">hudi_get_max_commit</span><span class="p">(</span><span class="s1">'public.hudi_mor_ft'</span><span class="p">);</span>
<span class="w"> </span><span class="n">max_commit</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">write_time</span>
<span class="c1">----------------+------------------------</span>
<span class="w"> </span><span class="mi">20221207141822</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">2022</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">07</span><span class="w"> </span><span class="mi">14</span><span class="p">:</span><span class="mi">18</span><span class="p">:</span><span class="mi">30</span><span class="o">+</span><span class="mi">08</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_0000001764675122__section1633992321919"><h4 class="sectiontitle">hudi_get_commit(regclass, cstring, int)</h4><p id="EN-US_TOPIC_0000001764675122__p033913234196">Description: This function retrieves the timestamp and write time of the commit data for the current Hudi foreign table, starting from the specified commit and up to the <em id="EN-US_TOPIC_0000001764675122__i1491851717119">N</em>th commit. If the <em id="EN-US_TOPIC_0000001764675122__i17401120936">N</em>th commit does not exist, the latest commit and the corresponding data write time are returned. This function is supported only by 9.1.0.100 and later versions.</p>
<p id="EN-US_TOPIC_0000001764675122__p83391223161912">Return type: record</p>
<p id="EN-US_TOPIC_0000001764675122__p53407238197">Example:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001764675122__screen8340423161917"><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="o">*</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">hudi_get_commit</span><span class="p">(</span><span class="s1">'public.hudi_mor_ft'</span><span class="p">,</span><span class="w"> </span><span class="s1">'20230329174744657'</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">);</span>
<span class="w"> </span><span class="n">end_commit</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">write_time</span><span class="w"> </span>
<span class="c1">-------------------+------------------------</span>
<span class="w"> </span><span class="mi">20230329174808908</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">2023</span><span class="o">-</span><span class="mi">08</span><span class="o">-</span><span class="mi">31</span><span class="w"> </span><span class="mi">15</span><span class="p">:</span><span class="mi">43</span><span class="p">:</span><span class="mi">08</span><span class="o">+</span><span class="mi">08</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_0000001764675122__section8902043205615"><h4 class="sectiontitle">hudi_sync_task_submit(regclass, regclass)</h4><p id="EN-US_TOPIC_0000001764675122__p139054385614">Description: Submits an automatic Hudi synchronization task. The first input parameter is the synchronization target table, and the second input parameter is the Hudi foreign table. If the task is submitted successfully, the task ID is returned.</p>
<p id="EN-US_TOPIC_0000001764675122__p20901243185611">Return type: text</p>
<div class="note" id="EN-US_TOPIC_0000001764675122__note1455919812616"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><ul id="EN-US_TOPIC_0000001764675122__ul105590811619"><li id="EN-US_TOPIC_0000001764675122__li17559681661">The synchronization target table must contain a primary key, which must be the same as the value of <strong id="EN-US_TOPIC_0000001764675122__b3791255326">hudi recordkey</strong>.</li><li id="EN-US_TOPIC_0000001764675122__li19559781663">If the hudi table contains the <strong id="EN-US_TOPIC_0000001764675122__b155610413319">precombine</strong> field, the synchronization target table must also contain the corresponding field.</li><li id="EN-US_TOPIC_0000001764675122__li185598819618">If the synchronization target table contains only the primary key (no other fields except the primary key), the synchronization task cannot be submitted normally.</li><li id="EN-US_TOPIC_0000001764675122__li185591381865">The user must have the <strong id="EN-US_TOPIC_0000001764675122__b1948123618418">INSERT</strong> and <strong id="EN-US_TOPIC_0000001764675122__b157391338148">UPDATE</strong> permissions on the target table and the <strong id="EN-US_TOPIC_0000001764675122__b1564648149">SELECT</strong> permission on the Hudi foreign table. Otherwise, the synchronization task cannot be submitted.</li></ul>
</div></div>
<p id="EN-US_TOPIC_0000001764675122__p1490114365616">Example:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001764675122__screen189024310569"><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">hudi_sync_task_submit</span><span class="p">(</span><span class="s1">'public.hudi_sync_i'</span><span class="p">,</span><span class="s1">'public.hudi_mor_ft'</span><span class="p">);</span>
<span class="w"> </span><span class="n">hudi_sync_task_submit</span>
<span class="c1">--------------------------------------</span>
<span class="w"> </span><span class="mi">6465</span><span class="n">efe2</span><span class="o">-</span><span class="mi">3</span><span class="n">ea1</span><span class="o">-</span><span class="mi">0</span><span class="n">b00</span><span class="o">-</span><span class="n">dde5</span><span class="o">-</span><span class="n">b57dfb30fffe</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_0000001764675122__section193264222359"><h4 class="sectiontitle">hudi_sync_task_submit(regclass, regclass, interval)</h4><p id="EN-US_TOPIC_0000001764675122__p232617220352">Description: The function is the same as that of <strong id="EN-US_TOPIC_0000001764675122__b179110403361">hudi_sync_task_submit(regclass, regclass)</strong>. The difference is that, in this function, you can specify an input parameter of the interval type to specify the task scheduling period. The value ranges from 5 seconds to 24 hours. If the task is submitted successfully, the task ID is returned. This function is supported only by 8.3.0 and later versions.</p>
<p id="EN-US_TOPIC_0000001764675122__p032662218353">Return type: text</p>
<div class="note" id="EN-US_TOPIC_0000001764675122__note657913121613"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><ul id="EN-US_TOPIC_0000001764675122__ul18580012568"><li id="EN-US_TOPIC_0000001764675122__li125801212162">The synchronization target table must contain a primary key, which must be the same as the value of <strong id="EN-US_TOPIC_0000001764675122__b225401311519">hudi recordkey</strong>.</li><li id="EN-US_TOPIC_0000001764675122__li158017121564">If the hudi table contains the <strong id="EN-US_TOPIC_0000001764675122__b53571819851">precombine</strong> field, the synchronization target table must also contain the corresponding field.</li><li id="EN-US_TOPIC_0000001764675122__li1558017121267">If the synchronization target table contains only the primary key (no other fields except the primary key), the synchronization task cannot be submitted normally.</li><li id="EN-US_TOPIC_0000001764675122__li175808123610">The user must have the <strong id="EN-US_TOPIC_0000001764675122__b439916227511">INSERT</strong> and <strong id="EN-US_TOPIC_0000001764675122__b5400162211518">UPDATE</strong> permissions on the target table and the <strong id="EN-US_TOPIC_0000001764675122__b124001022351">SELECT</strong> permission on the Hudi foreign table. Otherwise, the synchronization task cannot be submitted.</li></ul>
</div></div>
<p id="EN-US_TOPIC_0000001764675122__p53261422123512">Example:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001764675122__screen332672213514"><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">hudi_sync_task_submit</span><span class="p">(</span><span class="s1">'public.hudi_sync_i'</span><span class="p">,</span><span class="s1">'public.hudi_mor_ft'</span><span class="p">,</span><span class="s1">'1 hour'</span><span class="p">);</span>
<span class="w"> </span><span class="n">hudi_sync_task_submit</span>
<span class="c1">--------------------------------------</span>
<span class="w"> </span><span class="mi">6465</span><span class="n">efe2</span><span class="o">-</span><span class="mi">3</span><span class="n">ea1</span><span class="o">-</span><span class="mi">0</span><span class="n">b00</span><span class="o">-</span><span class="n">dde5</span><span class="o">-</span><span class="n">b57dfb30fffe</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_0000001764675122__section1456525514311"><h4 class="sectiontitle">hudi_sync_task_submit(regclass, regclass, text, text)</h4><p id="EN-US_TOPIC_0000001764675122__p48451332184011">Description: The function is the same as that of <strong id="EN-US_TOPIC_0000001764675122__b1542102783714">hudi_sync_task_submit(regclass, regclass)</strong>. The difference is that you can specify two additional text input parameters to indicate the fields that you expect to be synchronized. The fields are separated by commas (,). Quotation marks and escape characters can be parsed. The number and sequence of fields in the two text parameters must be the same, because the synchronization will be performed based on the mapping between the fields in the two text parameters. If the task is submitted successfully, the task ID is returned.</p>
<p id="EN-US_TOPIC_0000001764675122__p20565185515310">Return type: text</p>
<div class="note" id="EN-US_TOPIC_0000001764675122__note2737131617617"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><ul id="EN-US_TOPIC_0000001764675122__ul137370161566"><li id="EN-US_TOPIC_0000001764675122__li273718162615">The synchronization target table must contain a primary key, which must be the same as the value of <strong id="EN-US_TOPIC_0000001764675122__b177263238517">hudi recordkey</strong>.</li><li id="EN-US_TOPIC_0000001764675122__li57371116460">If the hudi table contains the <strong id="EN-US_TOPIC_0000001764675122__b15173122519513">precombine</strong> field, the synchronization target table must also contain the corresponding field.</li><li id="EN-US_TOPIC_0000001764675122__li37371316167">If the synchronization target table contains only the primary key (no other fields except the primary key), the synchronization task cannot be submitted normally.</li><li id="EN-US_TOPIC_0000001764675122__li1973719161564">The user must have the <strong id="EN-US_TOPIC_0000001764675122__b596918275511">INSERT</strong> and <strong id="EN-US_TOPIC_0000001764675122__b8970227359">UPDATE</strong> permissions on the target table and the <strong id="EN-US_TOPIC_0000001764675122__b1897052718513">SELECT</strong> permission on the Hudi foreign table. Otherwise, the synchronization task cannot be submitted.</li></ul>
</div></div>
<p id="EN-US_TOPIC_0000001764675122__p6565555734">Example:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001764675122__screen656555514313"><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">hudi_sync_task_submit</span><span class="p">(</span><span class="s1">'public.hudi_sync_i'</span><span class="p">,</span><span class="s1">'public.hudi_mor_ft'</span><span class="p">,</span><span class="s1">'_hoodie_commit_time, col_bigint, col_text'</span><span class="p">,</span><span class="w"> </span><span class="s1">'_hoodie_commit_time, col_bigint, col_text'</span><span class="p">);</span>
<span class="w"> </span><span class="n">hudi_sync_task_submit</span>
<span class="c1">--------------------------------------</span>
<span class="w"> </span><span class="mi">646610</span><span class="n">bc</span><span class="o">-</span><span class="n">cdd1</span><span class="o">-</span><span class="mi">0</span><span class="n">d00</span><span class="o">-</span><span class="n">d07d</span><span class="o">-</span><span class="n">b57e89a0fffe</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_0000001764675122__section196620434372"><h4 class="sectiontitle">hudi_sync_task_submit(regclass, regclass, text, text, interval)</h4><p id="EN-US_TOPIC_0000001764675122__p867134313716">Description: The function is the same as that of <strong id="EN-US_TOPIC_0000001764675122__b1057215234010">hudi_sync_task_submit(regclass, regclass, text, text)</strong>. The difference is that you can specify an additional input parameter of the interval type to specify the task scheduling period. The value ranges from 5 seconds to 24 hours. This function is supported only by 8.3.0 and later versions.</p>
<p id="EN-US_TOPIC_0000001764675122__p367243113713">Return type: text</p>
<div class="note" id="EN-US_TOPIC_0000001764675122__en-us_topic_0000001233430143_note20310240154214"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><ul id="EN-US_TOPIC_0000001764675122__en-us_topic_0000001233430143_ul15311940134219"><li id="EN-US_TOPIC_0000001764675122__en-us_topic_0000001233430143_li197891737122311">The synchronization target table must contain a primary key, which must be the same as the value of <strong id="EN-US_TOPIC_0000001764675122__b163451029959">hudi recordkey</strong>.</li><li id="EN-US_TOPIC_0000001764675122__li1373462013128">If the hudi table contains the <strong id="EN-US_TOPIC_0000001764675122__b187371930157">precombine</strong> field, the synchronization target table must also contain the corresponding field.</li><li id="EN-US_TOPIC_0000001764675122__en-us_topic_0000001233430143_li14311144004217">If the synchronization target table contains only the primary key (no other fields except the primary key), the synchronization task cannot be submitted normally.</li><li id="EN-US_TOPIC_0000001764675122__li6532159171317">The user must have the <strong id="EN-US_TOPIC_0000001764675122__b069818332051">INSERT</strong> and <strong id="EN-US_TOPIC_0000001764675122__b176995333515">UPDATE</strong> permissions on the target table and the <strong id="EN-US_TOPIC_0000001764675122__b16991333956">SELECT</strong> permission on the Hudi foreign table. Otherwise, the synchronization task cannot be submitted.</li></ul>
</div></div>
<p id="EN-US_TOPIC_0000001764675122__p96724317373">Example:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001764675122__screen1967124313370"><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">hudi_sync_task_submit</span><span class="p">(</span><span class="s1">'public.hudi_sync_i'</span><span class="p">,</span><span class="s1">'public.hudi_mor_ft'</span><span class="p">,</span><span class="s1">'_hoodie_commit_time, col_bigint, col_text'</span><span class="p">,</span><span class="w"> </span><span class="s1">'_hoodie_commit_time, col_bigint, col_text'</span><span class="p">,</span><span class="w"> </span><span class="s1">'10 minute 30second'</span><span class="p">);</span>
<span class="w"> </span><span class="n">hudi_sync_task_submit</span>
<span class="c1">--------------------------------------</span>
<span class="w"> </span><span class="mi">646610</span><span class="n">bc</span><span class="o">-</span><span class="n">cdd1</span><span class="o">-</span><span class="mi">0</span><span class="n">d00</span><span class="o">-</span><span class="n">d07d</span><span class="o">-</span><span class="n">b57e89a0fffe</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_0000001764675122__section3110521655"><h4 class="sectiontitle">hudi_show_sync_state()</h4><p id="EN-US_TOPIC_0000001764675122__p1211016213519">Description: Obtains the synchronization status of the Hudi automatic synchronization task.</p>
<p id="EN-US_TOPIC_0000001764675122__p1111010211516">Return type: SETOF record</p>
<p id="EN-US_TOPIC_0000001764675122__p10110182755">Example:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001764675122__screen21101021519"><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="o">*</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">hudi_show_sync_state</span><span class="p">();</span>
<span class="w"> </span><span class="n">target_tbl</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">source_ftbl</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">payload_type</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">precombine_key</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">latest_commit</span>
<span class="c1">--------------------+--------------------+-------------------------------------------------------------+----------------+-------------------</span>
<span class="w"> </span><span class="k">public</span><span class="p">.</span><span class="n">hudi_sync_i</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">public</span><span class="p">.</span><span class="n">hudi_mor_ft</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">hudi</span><span class="p">.</span><span class="n">common</span><span class="p">.</span><span class="n">model</span><span class="p">.</span><span class="n">OverwriteWithLatestAvroPayload</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">col_int</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">20230511114021573</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_0000001764675122__section2990172015615"><h4 class="sectiontitle">hudi_sync(regclass, regclass)</h4><p id="EN-US_TOPIC_0000001764675122__p149912209612">Description: Stored procedure, which is invoked by the Hudi automatic synchronization task. Tasks submitted using <strong id="EN-US_TOPIC_0000001764675122__b39132514433">pg_catalog.hudi_sync_task_submit(regclass, regclass)</strong> will execute the stored procedure. Upon successful execution of the command, the number of synchronized rows and timestamp will be displayed.</p>
<p id="EN-US_TOPIC_0000001764675122__p2099182016615">Return type: text</p>
<p id="EN-US_TOPIC_0000001764675122__p129910205610">Example:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001764675122__screen999118202062"><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></pre></div></td><td class="code"><div><pre><span></span><span class="k">CALL</span><span class="w"> </span><span class="n">hudi_sync</span><span class="p">(</span><span class="s1">'public.hudi_sync_i'</span><span class="p">,</span><span class="w"> </span><span class="s1">'public.hudi_mor_ft'</span><span class="p">);</span>
<span class="n">NOTICE</span><span class="p">:</span><span class="w"> </span><span class="k">execute</span><span class="w"> </span><span class="k">full</span><span class="w"> </span><span class="n">sync</span>
<span class="n">CONTEXT</span><span class="p">:</span><span class="w"> </span><span class="n">PL</span><span class="o">/</span><span class="n">pgSQL</span><span class="w"> </span><span class="k">function</span><span class="w"> </span><span class="n">hudi_sync</span><span class="p">(</span><span class="n">regclass</span><span class="p">,</span><span class="n">regclass</span><span class="p">)</span><span class="w"> </span><span class="n">line</span><span class="w"> </span><span class="mi">11</span><span class="w"> </span><span class="k">at</span><span class="w"> </span><span class="k">RETURN</span>
<span class="w"> </span><span class="n">hudi_sync</span>
<span class="c1">--------------------------------------</span>
<span class="w"> </span><span class="n">sync</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="k">rows</span><span class="w"> </span><span class="n">up</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="mi">20230511114021573</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_0000001764675122__section166313616820"><h4 class="sectiontitle">hudi_sync_custom(regclass, regclass, text)</h4><p id="EN-US_TOPIC_0000001764675122__p86641869817">Description: A stored procedure, which is the entry for invoking the Hudi automatic synchronization task. Users can customize the mapping between the fields in the target table and those in the data source table. Tasks submitted using <strong id="EN-US_TOPIC_0000001764675122__b131581246448">pg_catalog.hudi_sync_task_submit(regclass, regclass, text, text)</strong> will execute the stored procedure. In the preceding information, <strong id="EN-US_TOPIC_0000001764675122__b1759124584410">text</strong> is a JSON string, indicating the synchronization mapping between two table fields. Upon successful execution of the command, the number of synchronized rows and timestamp will be displayed.</p>
<p id="EN-US_TOPIC_0000001764675122__p4664460810">Return type: text</p>
<p id="EN-US_TOPIC_0000001764675122__p19664768818">Example:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001764675122__screen56641261581"><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></pre></div></td><td class="code"><div><pre><span></span><span class="k">CALL</span><span class="w"> </span><span class="n">hudi_sync_custom</span><span class="p">(</span><span class="s1">'public.hudi_sync_i'</span><span class="p">,</span><span class="w"> </span><span class="s1">'public.hudi_mor_ft'</span><span class="p">,</span><span class="w"> </span><span class="s1">'{&quot;_hoodie_commit_time&quot; : &quot;_hoodie_commit_time&quot;, &quot;col_bigint&quot; : &quot;col_bigint&quot;, &quot;col_text&quot; : &quot;col_text&quot;}'</span><span class="p">);</span>
<span class="n">NOTICE</span><span class="p">:</span><span class="w"> </span><span class="k">execute</span><span class="w"> </span><span class="k">full</span><span class="w"> </span><span class="n">sync</span>
<span class="n">CONTEXT</span><span class="p">:</span><span class="w"> </span><span class="n">PL</span><span class="o">/</span><span class="n">pgSQL</span><span class="w"> </span><span class="k">function</span><span class="w"> </span><span class="n">hudi_sync_custom</span><span class="p">(</span><span class="n">regclass</span><span class="p">,</span><span class="n">regclass</span><span class="p">,</span><span class="nb">text</span><span class="p">)</span><span class="w"> </span><span class="n">line</span><span class="w"> </span><span class="mi">14</span><span class="w"> </span><span class="k">at</span><span class="w"> </span><span class="k">RETURN</span>
<span class="w"> </span><span class="n">hudi_sync_custom</span>
<span class="c1">--------------------------------------</span>
<span class="w"> </span><span class="n">sync</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="k">rows</span><span class="w"> </span><span class="n">up</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="mi">20230511114021573</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_0000001764675122__section68005414455"><h4 class="sectiontitle">hudi_set_sync_commit(regclass, regclass, text)</h4><p id="EN-US_TOPIC_0000001764675122__p780094134519">Description: Sets the start timestamp of the first synchronization of the Hudi automatic synchronization task to prevent resynchronization. The first parameter is the synchronization target table, the second parameter is the Hudi foreign table, and the third parameter is the expected synchronization start point. This function must be used before a synchronization task is submitted. This function is supported only by 8.2.1.210 and later versions.</p>
<p id="EN-US_TOPIC_0000001764675122__p1880010420452">Return type: text</p>
<p id="EN-US_TOPIC_0000001764675122__p158009484520">Example:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001764675122__screen180018434513"><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></pre></div></td><td class="code"><div><pre><span></span><span class="k">select</span><span class="w"> </span><span class="n">hudi_set_sync_commit</span><span class="p">(</span><span class="s1">'public.hudi_sync_i'</span><span class="p">,</span><span class="w"> </span><span class="s1">'public.hudi_mor_ft'</span><span class="p">,</span><span class="w"> </span><span class="s1">'20230511114021573'</span><span class="p">);</span>
<span class="n">NOTICE</span><span class="p">:</span><span class="w"> </span><span class="k">set</span><span class="w"> </span><span class="n">sync</span><span class="w"> </span><span class="k">commit</span><span class="w"> </span><span class="n">successfully</span><span class="p">,</span><span class="w"> </span><span class="n">the</span><span class="w"> </span><span class="k">next</span><span class="w"> </span><span class="n">synchronization</span><span class="w"> </span><span class="n">will</span><span class="w"> </span><span class="k">start</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="mi">20230511114021573</span>
<span class="n">CONTEXT</span><span class="p">:</span><span class="w"> </span><span class="n">referenced</span><span class="w"> </span><span class="k">column</span><span class="p">:</span><span class="w"> </span><span class="n">hudi_set_sync_commit</span>
<span class="w"> </span><span class="n">hudi_set_sync_commit</span>
<span class="c1">----------------------</span>
<span class="w"> </span><span class="mi">20230511114021573</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 class="note" id="EN-US_TOPIC_0000001764675122__note4275155101411"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="EN-US_TOPIC_0000001764675122__p174142103514">You must have the <strong id="EN-US_TOPIC_0000001764675122__b11849195451514">INSERT</strong> and <strong id="EN-US_TOPIC_0000001764675122__b028414587151">UPDATE</strong> permissions on the target table and the <strong id="EN-US_TOPIC_0000001764675122__b42094518162">SELECT</strong> permission on the Hudi foreign table. Otherwise, you cannot set the synchronization progress.</p>
</div></div>
</div>
<div class="section" id="EN-US_TOPIC_0000001764675122__section37616507403"><h4 class="sectiontitle">hudi_set_sync_commit(text, text)</h4><p id="EN-US_TOPIC_0000001764675122__p1476185018403">Description: Sets the start timestamp of the next synchronization of a Hudi automatic synchronization task. You can use it to sync historical data again or to skip some data. The first parameter is the task ID, and the second parameter is the expected start time of the next synchronization. This function can be used only after a synchronization task is submitted. Before using this function, you need to pause the task. This function is supported only by 8.2.1.210 and later versions.</p>
<p id="EN-US_TOPIC_0000001764675122__p1376135054012">Return type: text</p>
<p id="EN-US_TOPIC_0000001764675122__p9299203815454">Example:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001764675122__screen1129923812456"><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></pre></div></td><td class="code"><div><pre><span></span><span class="k">select</span><span class="w"> </span><span class="n">hudi_set_sync_commit</span><span class="p">(</span><span class="s1">'6524c8e3-aae9-0000-5a14-be8ec000fffe'</span><span class="p">,</span><span class="w"> </span><span class="s1">'20230511114021573'</span><span class="p">);</span>
<span class="n">NOTICE</span><span class="p">:</span><span class="w"> </span><span class="k">set</span><span class="w"> </span><span class="n">sync</span><span class="w"> </span><span class="k">commit</span><span class="w"> </span><span class="n">successfully</span><span class="p">,</span><span class="w"> </span><span class="n">the</span><span class="w"> </span><span class="k">next</span><span class="w"> </span><span class="n">synchronization</span><span class="w"> </span><span class="n">will</span><span class="w"> </span><span class="k">start</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="mi">20230511114021573</span>
<span class="n">CONTEXT</span><span class="p">:</span><span class="w"> </span><span class="n">referenced</span><span class="w"> </span><span class="k">column</span><span class="p">:</span><span class="w"> </span><span class="n">hudi_set_sync_commit</span>
<span class="w"> </span><span class="n">hudi_set_sync_commit</span>
<span class="c1">----------------------</span>
<span class="w"> </span><span class="mi">20230511114021573</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 class="note" id="EN-US_TOPIC_0000001764675122__note20556133164910"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><ul id="EN-US_TOPIC_0000001764675122__ul95561131499"><li id="EN-US_TOPIC_0000001764675122__li35562319492">Only users who have the permission on the target task can invoke this function.</li><li id="EN-US_TOPIC_0000001764675122__li16733122619509">Before invoking this function, ensure that the target task is paused and has been successfully executed at least once.</li></ul>
</div></div>
</div>
<div class="section" id="EN-US_TOPIC_0000001764675122__section104257223139"><h4 class="sectiontitle">pg_task_show(text)</h4><p id="EN-US_TOPIC_0000001764675122__p2425122181317">Description: Queries the information about the current automatic scheduling task. For a Hudi synchronization task, the input parameter should be <strong id="EN-US_TOPIC_0000001764675122__b147741522141614">SQLonHudi</strong>.</p>
<p id="EN-US_TOPIC_0000001764675122__p142512271310">Return type: SETOF record</p>
<p id="EN-US_TOPIC_0000001764675122__p5425142210137">Example:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001764675122__screen542519222131"><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="o">*</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">pg_task_show</span><span class="p">(</span><span class="s1">'SQLonHudi'</span><span class="p">);</span>
<span class="w"> </span><span class="n">task_id</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">what</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">category_id</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">userid</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">is_broken</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="nb">interval</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">time_cons</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">start_time</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">end_time</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">parameter</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">task_rank</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">next_start_time</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">next_end_time</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">last_log</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">failure_times</span><span class="w"> </span>
<span class="c1">--------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+--------+-----------+------------+-----------+-------------------------------+----------+-----------+-----------+-------------------------------+-------------------------------+----------+---------------</span>
<span class="w"> </span><span class="mi">64</span><span class="n">d257e9</span><span class="o">-</span><span class="mi">1</span><span class="n">e9b</span><span class="o">-</span><span class="mi">0</span><span class="n">d00</span><span class="o">-</span><span class="mi">3</span><span class="n">ce3</span><span class="o">-</span><span class="mi">7</span><span class="n">e61b5e0fffe</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">call</span><span class="w"> </span><span class="n">pg_catalog</span><span class="p">.</span><span class="n">hudi_sync_custom</span><span class="p">(</span><span class="s1">'public.hudi_read_target'</span><span class="p">,</span><span class="w"> </span><span class="s1">'public.hudi_read101'</span><span class="p">,</span><span class="w"> </span><span class="s1">'{&quot;_hoodie_commit_seqno&quot; : &quot;_hoodie_commit_seqno&quot;, &quot;id&quot; : &quot;id&quot;, &quot;ts&quot; : &quot;ts&quot;, &quot;long_field&quot; : &quot;ts&quot;}'</span><span class="p">);</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">SQLonHudi</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">f</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="s1">'00:00:10'</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">2023</span><span class="o">-</span><span class="mi">08</span><span class="o">-</span><span class="mi">08</span><span class="w"> </span><span class="mi">22</span><span class="p">:</span><span class="mi">58</span><span class="p">:</span><span class="mi">15</span><span class="p">.</span><span class="mi">846903</span><span class="o">+</span><span class="mi">08</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">5</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">2023</span><span class="o">-</span><span class="mi">08</span><span class="o">-</span><span class="mi">08</span><span class="w"> </span><span class="mi">22</span><span class="p">:</span><span class="mi">58</span><span class="p">:</span><span class="mi">15</span><span class="p">.</span><span class="mi">846903</span><span class="o">+</span><span class="mi">08</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">2023</span><span class="o">-</span><span class="mi">08</span><span class="o">-</span><span class="mi">08</span><span class="w"> </span><span class="mi">22</span><span class="p">:</span><span class="mi">58</span><span class="p">:</span><span class="mi">24</span><span class="p">.</span><span class="mi">846903</span><span class="o">+</span><span class="mi">08</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">0</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 class="note" id="EN-US_TOPIC_0000001764675122__note19559322253"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="EN-US_TOPIC_0000001764675122__p3412029133013">The <strong id="EN-US_TOPIC_0000001764675122__b11931633112020">last_log</strong> and <strong id="EN-US_TOPIC_0000001764675122__b20905193620203">failure_times</strong> fields are used to record the status of the last task.</p>
<ul id="EN-US_TOPIC_0000001764675122__ul35617424307"><li id="EN-US_TOPIC_0000001764675122__li056110428304">The value of <strong id="EN-US_TOPIC_0000001764675122__b45940610210">last_log</strong> is updated when the task is complete. If the task is successful, the content is cleared. If the task fails, the task failure log is recorded.</li><li id="EN-US_TOPIC_0000001764675122__li1556114423306">The value of <strong id="EN-US_TOPIC_0000001764675122__b10482173310219">failure_times</strong> is updated at the end of the time window. If the task is successful, the value of <strong id="EN-US_TOPIC_0000001764675122__b168733619279">failure_times</strong> is set to 0. If the task fails, the value of <strong id="EN-US_TOPIC_0000001764675122__b14417443122710">failure_times</strong> increases by 1. The value of <strong id="EN-US_TOPIC_0000001764675122__b7875462287">failure_times</strong> can be used to infer the time when the first failure occurs.</li></ul>
</div></div>
</div>
<div class="section" id="EN-US_TOPIC_0000001764675122__section121071818101312"><h4 class="sectiontitle">pg_task_remove(text)</h4><p id="EN-US_TOPIC_0000001764675122__p121071186139">Description: Deletes an automatic scheduling task. The input parameter is a task ID. The function returns the number of deleted tasks.</p>
<p id="EN-US_TOPIC_0000001764675122__p1210791891319">Return type: integer</p>
<p id="EN-US_TOPIC_0000001764675122__p210710187137">Example:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001764675122__screen7107818201313"><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">pg_task_remove</span><span class="p">(</span><span class="s1">'64661705-8ada-0100-d07f-b57e89a0fffe'</span><span class="p">);</span>
<span class="w"> </span><span class="n">pg_task_remove</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_0000001764675122__section3167012181316"><h4 class="sectiontitle">pg_task_pause(text)</h4><p id="EN-US_TOPIC_0000001764675122__p816771214131">Description: Suspend an automatic scheduling task. The input parameter is a task ID. The function returns the number of suspended tasks.</p>
<p id="EN-US_TOPIC_0000001764675122__p151671127137">Return type: integer</p>
<p id="EN-US_TOPIC_0000001764675122__p7167712111320">Example:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001764675122__screen15167181216132"><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">pg_task_pause</span><span class="p">(</span><span class="s1">'64661705-8ada-0100-d07f-b57e89a0fffe'</span><span class="p">);</span>
<span class="w"> </span><span class="n">pg_task_pause</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_0000001764675122__section16838103256"><h4 class="sectiontitle">pg_task_resume(text)</h4><p id="EN-US_TOPIC_0000001764675122__p10839300256">Description: Resumes an automatic scheduling task. The input parameter is the ID of a suspended task. The function returns the number of resumed tasks. This function is supported only by 8.3.0 and later versions.</p>
<p id="EN-US_TOPIC_0000001764675122__p9839190172513">Return type: integer</p>
<p id="EN-US_TOPIC_0000001764675122__p783919014259">Example:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001764675122__screen1983919010259"><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">pg_task_resume</span><span class="p">(</span><span class="s1">'64661705-8ada-0100-d07f-b57e89a0fffe'</span><span class="p">);</span>
<span class="w"> </span><span class="n">pg_task_resume</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_0000001764675122__section438316171789"><h4 class="sectiontitle">pg_task_reset_interval(text, interval)</h4><p id="EN-US_TOPIC_0000001764675122__p1538318171188">Description: Modifies the scheduling period of a synchronization task. The first input parameter is <strong id="EN-US_TOPIC_0000001764675122__b2112629103415">task_id</strong>, and the second input parameter the scheduling period, of which the value ranges from 5 seconds to 24 hours. The function returns the number of tasks whose periods are modified. This function is supported only by 8.3.0 and later versions.</p>
<p id="EN-US_TOPIC_0000001764675122__p638320179814">Return type: integer</p>
<p id="EN-US_TOPIC_0000001764675122__p20383317481">Example:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001764675122__screen1998849505"><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">pg_task_reset_interval</span><span class="p">(</span><span class="s1">'64bfd69c-a016-0000-120e-1e802978fffe'</span><span class="p">,</span><span class="w"> </span><span class="s1">'10 hours 30 minutes'</span><span class="p">);</span>
<span class="n">pg_task_reset_interval</span>
<span class="c1">------------------------</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_0027.html">Functions and Operators</a></div>
</div>
</div>