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>
51 lines
5.2 KiB
HTML
51 lines
5.2 KiB
HTML
<a name="dli_08_0283"></a><a name="dli_08_0283"></a>
|
|
|
|
<h1 class="topictitle1">Creating a Function</h1>
|
|
<div id="body1594366373345"><div class="section" id="dli_08_0283__en-us_topic_0114776165_en-us_topic_0093946907_s487369d31d4243aba0e537e5932f8b36"><h4 class="sectiontitle">Function</h4><p id="dli_08_0283__p645710206106">DLI allows you to create and use user-defined functions (UDF) and user-defined table functions (UDTF) in Spark jobs.</p>
|
|
</div>
|
|
<div class="section" id="dli_08_0283__en-us_topic_0114776165_en-us_topic_0093946907_s24c0b560c57b49d1bba9b64b7baf3f21"><h4 class="sectiontitle">Syntax</h4><div class="codecoloring" codetype="Sql" id="dli_08_0283__en-us_topic_0114776165_screen141961254556"><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">CREATE</span><span class="w"> </span><span class="k">FUNCTION</span><span class="w"> </span><span class="p">[</span><span class="n">db_name</span><span class="p">.]</span><span class="n">function_name</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">class_name</span>
|
|
<span class="w"> </span><span class="p">[</span><span class="k">USING</span><span class="w"> </span><span class="n">resource</span><span class="p">,...]</span>
|
|
|
|
<span class="n">resource</span><span class="p">:</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="n">JAR</span><span class="w"> </span><span class="n">file_uri</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="dli_08_0283__p183265521711">Or</p>
|
|
<div class="codecoloring" codetype="Sql" id="dli_08_0283__screen1416417941311"><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">CREATE</span><span class="w"> </span><span class="k">OR</span><span class="w"> </span><span class="k">REPLACE</span><span class="w"> </span><span class="k">FUNCTION</span><span class="w"> </span><span class="p">[</span><span class="n">db_name</span><span class="p">.]</span><span class="n">function_name</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">class_name</span>
|
|
<span class="w"> </span><span class="p">[</span><span class="k">USING</span><span class="w"> </span><span class="n">resource</span><span class="p">,...]</span>
|
|
|
|
<span class="n">resource</span><span class="p">:</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="n">JAR</span><span class="w"> </span><span class="n">file_uri</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="dli_08_0283__section1598854117227"><h4 class="sectiontitle">Precautions</h4><ul id="dli_08_0283__ul16988204111226"><li id="dli_08_0283__li59887410224">If a function with the same name exists in the database, the system reports an error.</li><li id="dli_08_0283__li798834142215">Only the Hive syntax can be used to create functions.</li><li id="dli_08_0283__li9431150192217">If you specify the same class name for two UDFs, the functions conflict though the package names are different. Avoid this problem because it causes failure of job execution.</li></ul>
|
|
</div>
|
|
<div class="section" id="dli_08_0283__en-us_topic_0114776165_en-us_topic_0093946907_s15f56ad46e8f476986860b44d58d0545"><h4 class="sectiontitle">Keywords</h4><ul id="dli_08_0283__en-us_topic_0114776165_en-us_topic_0093946907_ul19329628111649"><li id="dli_08_0283__en-us_topic_0114776165_en-us_topic_0093946907_li6687122111652">USING <resources>: resources to be loaded. It can be a list of JARs, files, or URIs.</li></ul>
|
|
</div>
|
|
<div class="section" id="dli_08_0283__en-us_topic_0114776165_en-us_topic_0093946907_se85f897bfc724638829c13a14150cab6"><h4 class="sectiontitle">Example</h4><p id="dli_08_0283__p1874415352382">Create the mergeBill function.</p>
|
|
<div class="codecoloring" codetype="Sql" id="dli_08_0283__en-us_topic_0114776165_screen782114013616"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">FUNCTION</span><span class="w"> </span><span class="n">mergeBill</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="s1">'com.xxx.hiveudf.MergeBill'</span>
|
|
<span class="w"> </span><span class="k">using</span><span class="w"> </span><span class="n">jar</span><span class="w"> </span><span class="s1">'obs://onlyci-7/udf/MergeBill.jar'</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="dli_08_0282.html">User-Defined Functions</a></div>
|
|
</div>
|
|
</div>
|
|
|