forked from docs/doc-exports
Reviewed-by: Pruthi, Vineet <vineet.pruthi@t-systems.com> Co-authored-by: chenxiaoxiong <chenxiaoxiong@huawei.com> Co-committed-by: chenxiaoxiong <chenxiaoxiong@huawei.com>
49 lines
10 KiB
HTML
49 lines
10 KiB
HTML
<a name="dataartsstudio_01_0502"></a><a name="dataartsstudio_01_0502"></a>
|
|
|
|
<h1 class="topictitle1">EL Expression Use Examples</h1>
|
|
<div id="body8662426"><p id="dataartsstudio_01_0502__en-us_topic_0133127285_p13991011062">With this example, you can understand how to use EL expressions in the following applications:</p>
|
|
<ul id="dataartsstudio_01_0502__en-us_topic_0133127285_ul18756201411617"><li id="dataartsstudio_01_0502__en-us_topic_0133127285_li158655161961">Using variables in the SQL script of <span id="dataartsstudio_01_0502__en-us_topic_0133127285_text1086512161760">DataArts Factory</span></li><li id="dataartsstudio_01_0502__en-us_topic_0133127285_li2912918165">Transferring parameters to SQL script variables?</li><li id="dataartsstudio_01_0502__en-us_topic_0133127285_li2756201411616">Using EL expressions in parameters?</li></ul>
|
|
<div class="section" id="dataartsstudio_01_0502__en-us_topic_0133127285_section16580152815418"><h4 class="sectiontitle">Context</h4><p id="dataartsstudio_01_0502__en-us_topic_0133127285_p97454322540">Use the job orchestration and job scheduling functions to generate daily transaction statistics reports according to transaction details tables.</p>
|
|
<p id="dataartsstudio_01_0502__en-us_topic_0133127285_p637131711594">The tables involved in this example are as follows:</p>
|
|
<ul id="dataartsstudio_01_0502__en-us_topic_0133127285_ul19332131413368"><li id="dataartsstudio_01_0502__en-us_topic_0133127285_li113321714143610">trade_log: This table records data generated in each transaction.</li><li id="dataartsstudio_01_0502__en-us_topic_0133127285_li2057112816371">trade_report: This table is generated based on trade_log and records the daily transaction summary.</li></ul>
|
|
</div>
|
|
<div class="section" id="dataartsstudio_01_0502__en-us_topic_0133127285_section128686719404"><h4 class="sectiontitle">Prerequisites</h4><ul id="dataartsstudio_01_0502__en-us_topic_0133127285_ul1639083412406"><li id="dataartsstudio_01_0502__en-us_topic_0133127285_li17390834184015">A DLI data connection named <span class="parmvalue" id="dataartsstudio_01_0502__en-us_topic_0133127285_parmvalue76621139124114"><b>dli_demo</b></span> has been created. <p id="dataartsstudio_01_0502__en-us_topic_0133127285_p17615191144213">If this data connection is not created, create one. For details, see <a href="dataartsstudio_01_0009.html">Configuring DataArts Studio Data Connection Parameters</a>.</p>
|
|
</li><li id="dataartsstudio_01_0502__en-us_topic_0133127285_li89035302431">A database named <span class="parmvalue" id="dataartsstudio_01_0502__en-us_topic_0133127285_parmvalue1272132419443"><b>dli_db</b></span> has been created in DLI.<p id="dataartsstudio_01_0502__en-us_topic_0133127285_p572182844417">If this database is not created, create one. For details, see <a href="dataartsstudio_01_0405.html">Creating a Database</a>.</p>
|
|
</li><li id="dataartsstudio_01_0502__en-us_topic_0133127285_li1071612134515">Tables <strong id="dataartsstudio_01_0502__en-us_topic_0133127285_b5359102512549">trade_log</strong> and <strong id="dataartsstudio_01_0502__en-us_topic_0133127285_b95732308548">trade_report</strong> have been created in the <span class="parmvalue" id="dataartsstudio_01_0502__en-us_topic_0133127285_parmvalue36311940154716"><b>dli_db</b></span> database.<p id="dataartsstudio_01_0502__en-us_topic_0133127285_p12999534204511">If the tables are not created, create them. For details, see <a href="dataartsstudio_01_0416.html">Creating a Table</a>.</p>
|
|
</li></ul>
|
|
</div>
|
|
<div class="section" id="dataartsstudio_01_0502__en-us_topic_0133127285_section1971618201419"><h4 class="sectiontitle">Procedure</h4><ol id="dataartsstudio_01_0502__en-us_topic_0133127285_ol35931050123712"><li id="dataartsstudio_01_0502__en-us_topic_0133127285_li659355023719"><a name="dataartsstudio_01_0502__en-us_topic_0133127285_li659355023719"></a><a name="en-us_topic_0133127285_li659355023719"></a><span>Create and develop a SQL script.</span><p><ol type="a" id="dataartsstudio_01_0502__en-us_topic_0133127285_ol175855125415"><li id="dataartsstudio_01_0502__en-us_topic_0133127285_li1258185165420">In the left navigation pane of the DataArts Factory console, choose <span class="menucascade" id="dataartsstudio_01_0502__en-us_topic_0133127285_menucascade1889024114211"><b><span class="uicontrol" id="dataartsstudio_01_0502__en-us_topic_0133127285_uicontrol88905411627"><span id="dataartsstudio_01_0502__en-us_topic_0133127285_text6890114118213">Data Development</span></span></b> > <b><span class="uicontrol" id="dataartsstudio_01_0502__en-us_topic_0133127285_uicontrol1189017411422"><span id="dataartsstudio_01_0502__en-us_topic_0133127285_text18901411529">Develop Script</span></span></b></span> and click <strong id="dataartsstudio_01_0502__b1651537194818">+ DLI</strong>.</li><li id="dataartsstudio_01_0502__en-us_topic_0133127285_li1412118133554">Go to the SQL script development page and set the data connection, database, and resource queue on the script property bar.<p id="dataartsstudio_01_0502__p956101735512"><a name="dataartsstudio_01_0502__en-us_topic_0133127285_li1412118133554"></a><a name="en-us_topic_0133127285_li1412118133554"></a></p>
|
|
</li><li id="dataartsstudio_01_0502__en-us_topic_0133127285_li1224033195516">Enter the following SQL statements in the script editor:<p id="dataartsstudio_01_0502__en-us_topic_0133127285_p78947425017"><a name="dataartsstudio_01_0502__en-us_topic_0133127285_li1224033195516"></a><a name="en-us_topic_0133127285_li1224033195516"></a></p>
|
|
<pre class="screen" id="dataartsstudio_01_0502__en-us_topic_0133127285_screen6620440103119">INSERT OVERWRITE TABLE trade_report
|
|
SELECT
|
|
sum(trade_count),
|
|
'${yesterday}'
|
|
FROM
|
|
trade_log
|
|
where
|
|
date_format(trade_time, 'yyyy-MM-dd') = '${yesterday}'</pre>
|
|
</li><li id="dataartsstudio_01_0502__en-us_topic_0133127285_li372372312119">Click <span><img id="dataartsstudio_01_0502__en-us_topic_0133127285_image6753088591" src="en-us_image_0000002234085136.png"></span> and set the script name to <span class="parmvalue" id="dataartsstudio_01_0502__en-us_topic_0133127285_parmvalue15781144611613"><b>generate_trade_report</b></span>.</li></ol>
|
|
</p></li><li id="dataartsstudio_01_0502__en-us_topic_0133127285_li1399139171516"><span>Create and develop a job.</span><p><ol type="a" id="dataartsstudio_01_0502__en-us_topic_0133127285_ol54251239470"><li id="dataartsstudio_01_0502__en-us_topic_0133127285_li124259398720">In the left navigation pane on the DataArts Factory console, choose <span class="menucascade" id="dataartsstudio_01_0502__en-us_topic_0133127285_menucascade12634646125010"><b><span class="uicontrol" id="dataartsstudio_01_0502__en-us_topic_0133127285_uicontrol1063494615015"><span id="dataartsstudio_01_0502__en-us_topic_0133127285_text1563414615503">Data Development</span></span></b> > <b><span class="uicontrol" id="dataartsstudio_01_0502__en-us_topic_0133127285_uicontrol14634104655019"><span id="dataartsstudio_01_0502__en-us_topic_0133127285_text126341046105013">Develop Job</span></span></b></span> and click <strong id="dataartsstudio_01_0502__b9354151005016">Create Job</strong> to create an empty job named <span class="parmvalue" id="dataartsstudio_01_0502__en-us_topic_0133127285_parmvalue104857376129"><b>job</b></span>.</li><li id="dataartsstudio_01_0502__en-us_topic_0133127285_li1071210421116">Go to the job development page, drag the <span id="dataartsstudio_01_0502__en-us_topic_0133127285_text15371423181310">DLI SQL</span> node to the canvas, click the icon, and configure node properties.<p id="dataartsstudio_01_0502__en-us_topic_0133127285_p1541916184194">Description of key properties:</p>
|
|
<ul id="dataartsstudio_01_0502__en-us_topic_0133127285_ul11507378191"><li id="dataartsstudio_01_0502__en-us_topic_0133127285_li1350113713196">SQL Script: SQL script <span class="parmvalue" id="dataartsstudio_01_0502__en-us_topic_0133127285_parmvalue84939534200"><b>generate_trade_report</b></span> that is developed in <a href="#dataartsstudio_01_0502__en-us_topic_0133127285_li659355023719">1</a>.</li><li id="dataartsstudio_01_0502__en-us_topic_0133127285_li17811716102019">Database Name: Database configured in SQL script <span class="parmvalue" id="dataartsstudio_01_0502__en-us_topic_0133127285_parmvalue593145982019"><b>generate_trade_report</b></span>.</li><li id="dataartsstudio_01_0502__en-us_topic_0133127285_li1057221082118">Queue Name: Resource queue configured in SQL script <span class="parmvalue" id="dataartsstudio_01_0502__en-us_topic_0133127285_parmvalue10716172512213"><b>generate_trade_report</b></span>.</li><li id="dataartsstudio_01_0502__en-us_topic_0133127285_li1976303120216">Script Parameter: Parameter <span class="parmvalue" id="dataartsstudio_01_0502__en-us_topic_0133127285_parmvalue152612192227"><b>yesterday</b></span> configured in SQL script <span class="parmvalue" id="dataartsstudio_01_0502__en-us_topic_0133127285_parmvalue62321349172120"><b>generate_trade_report</b></span>. Enter the following EL expression as the parameter values:<pre class="screen" id="dataartsstudio_01_0502__en-us_topic_0133127285_screen1874132520234">#{Job.getYesterday("yyyy-MM-dd")}</pre>
|
|
<p id="dataartsstudio_01_0502__en-us_topic_0133127285_p142101644154212">Expression Description: The job object uses the getYesterday method to obtain the time of the day before the job plan execution time. The time format is yyyy-MM-dd.</p>
|
|
<p id="dataartsstudio_01_0502__en-us_topic_0133127285_p1741373022920">If the job plan time is 2018/9/26 01:00:00, the calculation result of this expression is 2018-09-25. The calculation result will replace the value of parameter ${yesterday} in the SQL script. The SQL statements after the replacement are as follows:</p>
|
|
<pre class="screen" id="dataartsstudio_01_0502__en-us_topic_0133127285_screen10702100143719">INSERT OVERWRITE TABLE trade_report
|
|
SELECT
|
|
sum(trade_count),
|
|
'2018-09-25'
|
|
FROM
|
|
trade_log
|
|
where
|
|
date_format(trade_time, 'yyyy-MM-dd') = '2018-09-25'</pre>
|
|
</li></ul>
|
|
</li><li id="dataartsstudio_01_0502__en-us_topic_0133127285_li5515443134413">Click <span><img id="dataartsstudio_01_0502__en-us_topic_0133127285_image8126187300" src="en-us_image_0000002234244964.png"></span> to test the running job.</li><li id="dataartsstudio_01_0502__en-us_topic_0133127285_li9375141864315">After the job test is complete, click <span><img id="dataartsstudio_01_0502__en-us_topic_0133127285_image5337549205" src="en-us_image_0000002234085136.png"></span> to save the job configuration.</li></ol>
|
|
</p></li></ol>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<div class="familylinks">
|
|
<div class="parentlink"><strong>Parent topic:</strong> <a href="dataartsstudio_01_0493.html">EL Expression Reference</a></div>
|
|
</div>
|
|
</div>
|
|
|