Files
doc-exports/docs/dataartsstudio/umn/dataartsstudio_01_1823.html
chenxiaoxiong f9e2808b7c DataArts UMN 20250810 version
Reviewed-by: Pruthi, Vineet <vineet.pruthi@t-systems.com>
Co-authored-by: chenxiaoxiong <chenxiaoxiong@huawei.com>
Co-committed-by: chenxiaoxiong <chenxiaoxiong@huawei.com>
2025-09-02 10:44:13 +00:00

341 lines
56 KiB
HTML

<a name="dataartsstudio_01_1823"></a><a name="dataartsstudio_01_1823"></a>
<h1 class="topictitle1">Developing a Real-Time Processing Single-Task MRS Flink SQL Job</h1>
<div id="body0000001647814241"><p id="dataartsstudio_01_1823__en-us_topic_0099797007_p16460513273">This section describes how to develop and configure a <span id="dataartsstudio_01_1823__text38461013154013">job</span>.</p>
<p id="dataartsstudio_01_1823__p383992417245">For details about how to develop a real-time processing Flink SQL job in single-task mode, see sections <a href="#dataartsstudio_01_1823__section037832452814">Developing an SQL Script</a>, <a href="#dataartsstudio_01_1823__en-us_topic_0099797007_section754991272419">Configuring Job Parameters</a>, <a href="#dataartsstudio_01_1823__section1462324142616">Saving a Job</a>, and <a href="#dataartsstudio_01_1823__section2246103584414">Templates</a>.</p>
<div class="section" id="dataartsstudio_01_1823__en-us_topic_0099797007_section536330414847"><h4 class="sectiontitle">Prerequisites</h4><ul id="dataartsstudio_01_1823__ul1836451315143"><li id="dataartsstudio_01_1823__li733054512146">You have created a job by referring to <a href="dataartsstudio_01_0434.html">Creating a Job</a>.</li><li id="dataartsstudio_01_1823__li1933013935818">You have locked the job. Otherwise, you must click <strong id="dataartsstudio_01_1823__b74972227406">Lock</strong> so that you can develop the job. A job you create or import is locked by you by default. For details, see the <a href="dataartsstudio_01_0913.html">lock function</a>.</li></ul>
</div>
<div class="section" id="dataartsstudio_01_1823__section037832452814"><a name="dataartsstudio_01_1823__section037832452814"></a><a name="section037832452814"></a><h4 class="sectiontitle">Developing an SQL Script</h4><ol id="dataartsstudio_01_1823__ol83781624142817"><li id="dataartsstudio_01_1823__li2848154165110">Log in to the <span id="dataartsstudio_01_1823__en-us_topic_0000001987511677_en-us_topic_0000001127311125_text5574448155719">DataArts Studio</span> console by following the instructions in <a href="dataartsstudio_01_0001.html">Accessing the DataArts Studio Instance Console</a>.</li><li id="dataartsstudio_01_1823__li7378192412813">On the <span id="dataartsstudio_01_1823__en-us_topic_0181092879_text185611381448">DataArts Studio</span> console, locate a workspace and click <strong id="dataartsstudio_01_1823__en-us_topic_0181092879_b65382814249">DataArts Factory</strong>.</li><li id="dataartsstudio_01_1823__li203781243286">In the left navigation pane of DataArts Factory, choose <span class="menucascade" id="dataartsstudio_01_1823__en-us_topic_0181491853_en-us_topic_0099797006_menucascade12634646125010"><b><span class="uicontrol" id="dataartsstudio_01_1823__en-us_topic_0181491853_en-us_topic_0099797006_uicontrol1063494615015">Development</span></b> &gt; <b><span class="uicontrol" id="dataartsstudio_01_1823__en-us_topic_0181491853_en-us_topic_0099797006_uicontrol14634104655019"><span id="dataartsstudio_01_1823__en-us_topic_0181491853_en-us_topic_0099797006_text126341046105013">Develop Job</span></span></b></span>.</li><li id="dataartsstudio_01_1823__li193795246286">In the job directory, double-click the name of a single-task job to access the job development page.</li><li id="dataartsstudio_01_1823__li9386310132720">On the right of the SQL editor, click <strong id="dataartsstudio_01_1823__b1411701126">Basic Info</strong> to configure basic information of the job. <a href="#dataartsstudio_01_1823__table44429421624">Table 1</a> provides the basic information about the single-task MRS Flink SQL job.
<div class="tablenoborder"><a name="dataartsstudio_01_1823__table44429421624"></a><a name="table44429421624"></a><table cellpadding="4" cellspacing="0" summary="" id="dataartsstudio_01_1823__table44429421624" frame="border" border="1" rules="all"><caption><b>Table 1 </b>Basic job information</caption><thead align="left"><tr id="dataartsstudio_01_1823__en-us_topic_0181491854_en-us_topic_0099797007_row53625586"><th align="left" class="cellrowborder" valign="top" width="16.3%" id="mcps1.3.4.2.5.3.2.3.1.1"><p id="dataartsstudio_01_1823__en-us_topic_0181491854_en-us_topic_0099797007_p144111518820">Parameter</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="83.7%" id="mcps1.3.4.2.5.3.2.3.1.2"><p id="dataartsstudio_01_1823__en-us_topic_0181491854_en-us_topic_0099797007_p114495284">Description</p>
</th>
</tr>
</thead>
<tbody><tr id="dataartsstudio_01_1823__en-us_topic_0181491854_en-us_topic_0099797007_row124865681"><td class="cellrowborder" valign="top" width="16.3%" headers="mcps1.3.4.2.5.3.2.3.1.1 "><p id="dataartsstudio_01_1823__en-us_topic_0181491854_en-us_topic_0099797007_p251957816">Owner</p>
</td>
<td class="cellrowborder" valign="top" width="83.7%" headers="mcps1.3.4.2.5.3.2.3.1.2 "><p id="dataartsstudio_01_1823__en-us_topic_0181491854_en-us_topic_0099797007_p19551159812">An owner configured during job creation is automatically matched. This parameter value can be modified.</p>
</td>
</tr>
<tr id="dataartsstudio_01_1823__en-us_topic_0181491854_en-us_topic_0099797007_row53761191048"><td class="cellrowborder" valign="top" width="16.3%" headers="mcps1.3.4.2.5.3.2.3.1.1 "><p id="dataartsstudio_01_1823__en-us_topic_0181491854_en-us_topic_0099797007_p83762019643">Executor</p>
</td>
<td class="cellrowborder" valign="top" width="83.7%" headers="mcps1.3.4.2.5.3.2.3.1.2 "><p id="dataartsstudio_01_1823__en-us_topic_0181491854_p1687715635117">This parameter is available when <strong id="dataartsstudio_01_1823__en-us_topic_0181491854_b1597517458487">Scheduling Identities</strong> is set to <strong id="dataartsstudio_01_1823__en-us_topic_0181491854_b15106115794816">Yes</strong>. </p>
<p id="dataartsstudio_01_1823__en-us_topic_0181491854_en-us_topic_0099797007_p737741920412">User that executes the job. When you enter an executor, the job is executed by the executor. If the executor is left unspecified, the job is executed by the user who submitted the job for startup.</p>
<div class="note" id="dataartsstudio_01_1823__en-us_topic_0181491854_note165672261718"><span class="notetitle"> NOTE: </span><div class="notebody"><p id="dataartsstudio_01_1823__en-us_topic_0181491854_p162860248590">You can configure execution users only after you <span id="dataartsstudio_01_1823__en-us_topic_0181491854_text199891646175014">apply for the whitelist membership</span>. To enable it, contact <span id="dataartsstudio_01_1823__en-us_topic_0181491854_text16120155010504">customer service or technical support</span>.</p>
</div></div>
</td>
</tr>
<tr id="dataartsstudio_01_1823__en-us_topic_0181491854_row1241410054511"><td class="cellrowborder" valign="top" width="16.3%" headers="mcps1.3.4.2.5.3.2.3.1.1 "><p id="dataartsstudio_01_1823__en-us_topic_0181491854_p11415100184515">Job Agency</p>
</td>
<td class="cellrowborder" valign="top" width="83.7%" headers="mcps1.3.4.2.5.3.2.3.1.2 "><p id="dataartsstudio_01_1823__en-us_topic_0181491854_p69698248561">This parameter is available when <strong id="dataartsstudio_01_1823__en-us_topic_0181491854_b96086313490">Scheduling Identities</strong> is set to <strong id="dataartsstudio_01_1823__en-us_topic_0181491854_b126097334914">Yes</strong>. </p>
<p id="dataartsstudio_01_1823__en-us_topic_0181491854_p1641520184510">After an agency is configured, the job interacts with other services as an agency during job execution.</p>
</td>
</tr>
<tr id="dataartsstudio_01_1823__en-us_topic_0181491854_en-us_topic_0099797007_row1657451284"><td class="cellrowborder" valign="top" width="16.3%" headers="mcps1.3.4.2.5.3.2.3.1.1 "><p id="dataartsstudio_01_1823__en-us_topic_0181491854_en-us_topic_0099797007_p1961175381">Priority</p>
</td>
<td class="cellrowborder" valign="top" width="83.7%" headers="mcps1.3.4.2.5.3.2.3.1.2 "><p id="dataartsstudio_01_1823__en-us_topic_0181491854_en-us_topic_0099797007_p865251818">Priority configured during job creation is automatically matched. This parameter value can be modified.</p>
</td>
</tr>
<tr id="dataartsstudio_01_1823__en-us_topic_0181491854_en-us_topic_0099797007_row3112384478"><td class="cellrowborder" valign="top" width="16.3%" headers="mcps1.3.4.2.5.3.2.3.1.1 "><p id="dataartsstudio_01_1823__en-us_topic_0181491854_en-us_topic_0099797007_p4121938174720">Execution Timeout</p>
</td>
<td class="cellrowborder" valign="top" width="83.7%" headers="mcps1.3.4.2.5.3.2.3.1.2 "><p id="dataartsstudio_01_1823__en-us_topic_0181491854_en-us_topic_0099797007_p512163844715">Timeout of the job instance. If this parameter is set to 0 or is not set, this parameter does not take effect. If the notification function is enabled for the job and the execution time of the job instance exceeds the preset value, the system sends a specified notification, and the job keeps running.</p>
</td>
</tr>
<tr id="dataartsstudio_01_1823__en-us_topic_0181491854_row106615555311"><td class="cellrowborder" valign="top" width="16.3%" headers="mcps1.3.4.2.5.3.2.3.1.1 "><p id="dataartsstudio_01_1823__en-us_topic_0181491854_p3662195512316">Exclude Waiting Time from Instance Timeout Duration</p>
</td>
<td class="cellrowborder" valign="top" width="83.7%" headers="mcps1.3.4.2.5.3.2.3.1.2 "><p id="dataartsstudio_01_1823__en-us_topic_0181491854_p13324175911811">Whether to exclude the wait time from the instance execution timeout duration</p>
<p id="dataartsstudio_01_1823__en-us_topic_0181491854_p46621055834">If you select this option, the time to wait before an instance starts running is excluded from the timeout duration. You can modify this setting in <a href="dataartsstudio_01_04501.html#dataartsstudio_01_04501__section14959925164217">Default Configuration &gt; Exclude Waiting Time from Instance Timeout Duration</a>.</p>
<p id="dataartsstudio_01_1823__en-us_topic_0181491854_p11770154612810">If you do not select this option, the time to wait before an instance starts running is included in the timeout duration.</p>
</td>
</tr>
<tr id="dataartsstudio_01_1823__en-us_topic_0181491854_en-us_topic_0099797007_row2671951686"><td class="cellrowborder" valign="top" width="16.3%" headers="mcps1.3.4.2.5.3.2.3.1.1 "><p id="dataartsstudio_01_1823__en-us_topic_0181491854_en-us_topic_0099797007_p107116520814">Custom Parameter</p>
</td>
<td class="cellrowborder" valign="top" width="83.7%" headers="mcps1.3.4.2.5.3.2.3.1.2 "><p id="dataartsstudio_01_1823__en-us_topic_0181491854_en-us_topic_0099797007_p17761952813">Set the name and value of the parameter.</p>
</td>
</tr>
<tr id="dataartsstudio_01_1823__en-us_topic_0181491854_row187556312426"><td class="cellrowborder" valign="top" width="16.3%" headers="mcps1.3.4.2.5.3.2.3.1.1 "><p id="dataartsstudio_01_1823__en-us_topic_0181491854_p4756143154216">Job Tag</p>
</td>
<td class="cellrowborder" valign="top" width="83.7%" headers="mcps1.3.4.2.5.3.2.3.1.2 "><p id="dataartsstudio_01_1823__en-us_topic_0181491854_p475617310426">Configure job tags to manage jobs by category.</p>
<p id="dataartsstudio_01_1823__en-us_topic_0181491854_p2488449194213">Click <span class="uicontrol" id="dataartsstudio_01_1823__en-us_topic_0181491854_uicontrol45900149432"><b>Add</b></span> to add a tag to the job. You can also select a tag configured in <a href="dataartsstudio_01_0532.html">Managing Job Tags</a>.</p>
</td>
</tr>
<tr id="dataartsstudio_01_1823__en-us_topic_0181491854_row76106341013"><td class="cellrowborder" valign="top" width="16.3%" headers="mcps1.3.4.2.5.3.2.3.1.1 "><p id="dataartsstudio_01_1823__en-us_topic_0181491854_p46101833102">Job Description</p>
</td>
<td class="cellrowborder" valign="top" width="83.7%" headers="mcps1.3.4.2.5.3.2.3.1.2 "><p id="dataartsstudio_01_1823__en-us_topic_0181491854_p18610836104">Description of the job</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="dataartsstudio_01_1823__table14176135863317" frame="border" border="1" rules="all"><caption><b>Table 2 </b>Attributes of the real-time processing single-task MRS Flink SQL job</caption><thead align="left"><tr id="dataartsstudio_01_1823__row19177115843314"><th align="left" class="cellrowborder" valign="top" width="20.18%" id="mcps1.3.4.2.5.4.2.3.1.1"><p id="dataartsstudio_01_1823__en-us_topic_0104967365_p3475163304919">Property</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="79.82000000000001%" id="mcps1.3.4.2.5.4.2.3.1.2"><p id="dataartsstudio_01_1823__en-us_topic_0104967365_p447543364917">Description</p>
</th>
</tr>
</thead>
<tbody><tr id="dataartsstudio_01_1823__en-us_topic_0104967365_row0475533134913"><td class="cellrowborder" colspan="2" valign="top" headers="mcps1.3.4.2.5.4.2.3.1.1 mcps1.3.4.2.5.4.2.3.1.2 "><p id="dataartsstudio_01_1823__p1366510438577"><strong id="dataartsstudio_01_1823__b3575331194718">Flink SQL properties</strong></p>
</td>
</tr>
<tr id="dataartsstudio_01_1823__row817795817339"><td class="cellrowborder" valign="top" width="20.18%" headers="mcps1.3.4.2.5.4.2.3.1.1 "><p id="dataartsstudio_01_1823__p54734566596">Flink Job Name</p>
</td>
<td class="cellrowborder" valign="top" width="79.82000000000001%" headers="mcps1.3.4.2.5.4.2.3.1.2 "><p id="dataartsstudio_01_1823__p109771551205120">Enter the Flink job name.</p>
<p id="dataartsstudio_01_1823__p16751164192018">The name is automatically generated in <em id="dataartsstudio_01_1823__i1361703418212">Workspace-Job name</em> format.</p>
<div class="note" id="dataartsstudio_01_1823__note9996847112616"><span class="notetitle"> NOTE: </span><div class="notebody"><p id="dataartsstudio_01_1823__p119961247182618">It can contain only letters, digits, hyphens (-), and underscores. A maximum of 64 characters are allowed, and Chinese characters are not allowed.</p>
</div></div>
</td>
</tr>
<tr id="dataartsstudio_01_1823__row8177958203314"><td class="cellrowborder" valign="top" width="20.18%" headers="mcps1.3.4.2.5.4.2.3.1.1 "><p id="dataartsstudio_01_1823__en-us_topic_0102588983_p4199531294826">MRS Cluster</p>
</td>
<td class="cellrowborder" valign="top" width="79.82000000000001%" headers="mcps1.3.4.2.5.4.2.3.1.2 "><p id="dataartsstudio_01_1823__en-us_topic_0102588983_p665784416312">Select an MRS cluster.</p>
<div class="note" id="dataartsstudio_01_1823__note16680103431516"><span class="notetitle"> NOTE: </span><div class="notebody"><p id="dataartsstudio_01_1823__p2681034181513">Currently, jobs with a single Flink SQL node support MRS 3.2.0-LTS.1 and later versions.</p>
</div></div>
</td>
</tr>
<tr id="dataartsstudio_01_1823__row817716586331"><td class="cellrowborder" valign="top" width="20.18%" headers="mcps1.3.4.2.5.4.2.3.1.1 "><p id="dataartsstudio_01_1823__en-us_topic_0102588983_p362485410161">Program Parameter</p>
</td>
<td class="cellrowborder" valign="top" width="79.82000000000001%" headers="mcps1.3.4.2.5.4.2.3.1.2 "><p id="dataartsstudio_01_1823__p164467471439">Set the job running parameters. This parameter is displayed only after an MRS cluster is selected.</p>
<p id="dataartsstudio_01_1823__p821834317318">(Optional) Configure optimization parameters such as threads, memory, and vCPUs for the job to optimize resource usage and improve job execution performance.</p>
<div class="caution" id="dataartsstudio_01_1823__note7531934162712"><span class="cautiontitle"> CAUTION: </span><div class="cautionbody"><div class="p" id="dataartsstudio_01_1823__p14531123414273">You can query historical checkpoints and select a specified checkpoint to start a real-time Flink SQL job. To make a Flink checkpoint take effect, configure the following two parameters:<div class="fignone" id="dataartsstudio_01_1823__fig107281810162613"><span class="figcap"><b>Figure 1 </b>Configuring program parameters</span><br><span><img id="dataartsstudio_01_1823__image1571008101212" src="en-us_image_0000002269118889.png" title="Click to enlarge" class="imgResize"></span></div>
</div>
<ul id="dataartsstudio_01_1823__ul4531634192717"><li id="dataartsstudio_01_1823__li053173413274">Checkpoint interval:<p id="dataartsstudio_01_1823__p10532234132713"><a name="dataartsstudio_01_1823__li053173413274"></a><a name="li053173413274"></a><strong id="dataartsstudio_01_1823__b953212346271">-yD: execution.checkpointing.interval=1000</strong></p>
</li><li id="dataartsstudio_01_1823__li13532133442717">Number of reserved checkpoints:<p id="dataartsstudio_01_1823__p153243417270"><a name="dataartsstudio_01_1823__li13532133442717"></a><a name="li13532133442717"></a><strong id="dataartsstudio_01_1823__b35321634152711">-yD: state.checkpoints.num-retained=1</strong><strong id="dataartsstudio_01_1823__b9532133442718">0</strong></p>
<p id="dataartsstudio_01_1823__p3532134112718">When querying the checkpoint list, enter parameter <strong id="dataartsstudio_01_1823__b1369592710146">-s</strong> and click the parameter value text box. The parameter value will be automatically displayed.</p>
</li></ul>
</div></div>
<div class="note" id="dataartsstudio_01_1823__en-us_topic_0101095437_note2073561518462"><span class="notetitle"> NOTE: </span><div class="notebody"><p id="dataartsstudio_01_1823__en-us_topic_0101095437_p1226422124616">This parameter is mandatory if the cluster version is MRS 1.8.7 or later than MRS 2.0.1.</p>
</div></div>
<p id="dataartsstudio_01_1823__p1197141010819">Click <strong id="dataartsstudio_01_1823__b1526763614532">Select Template</strong> and select a parameter template. You can also select multiple templates. For details about how to create templates, see <a href="dataartsstudio_01_1282.html">Configuring a Template</a>.</p>
<p id="dataartsstudio_01_1823__p641390103312">For details about the parameters of MRS Flink jobs, see <strong id="dataartsstudio_01_1823__b10662655105415">Managing an Existing Cluster</strong> &gt; <strong id="dataartsstudio_01_1823__b1266275517544">Job Management</strong> &gt; <strong id="dataartsstudio_01_1823__b56622555540">Running a Flink Job</strong> in <em id="dataartsstudio_01_1823__i206623554549">MapReduce Service (MRS) User Guide</em><em id="dataartsstudio_01_1823__i16662155565410"></em>.</p>
</td>
</tr>
<tr id="dataartsstudio_01_1823__row4917621512"><td class="cellrowborder" valign="top" width="20.18%" headers="mcps1.3.4.2.5.4.2.3.1.1 "><p id="dataartsstudio_01_1823__p8917421518">Flink Job Parameter</p>
</td>
<td class="cellrowborder" valign="top" width="79.82000000000001%" headers="mcps1.3.4.2.5.4.2.3.1.2 "><p id="dataartsstudio_01_1823__p1691019011117">Set the parameters for the Flink job.</p>
<p id="dataartsstudio_01_1823__p1191772851">Variables required for executing the Flink job. These variables are specified by the functions in the Hive script. Multiple parameters are separated by spaces.</p>
</td>
</tr>
<tr id="dataartsstudio_01_1823__row1384115113392"><td class="cellrowborder" valign="top" width="20.18%" headers="mcps1.3.4.2.5.4.2.3.1.1 "><p id="dataartsstudio_01_1823__p13841201118399">MRS Resource Queue</p>
</td>
<td class="cellrowborder" valign="top" width="79.82000000000001%" headers="mcps1.3.4.2.5.4.2.3.1.2 "><p id="dataartsstudio_01_1823__p13865635113910">Select a created MRS resource queue.</p>
<p id="dataartsstudio_01_1823__p1536015140328">This parameter is mandatory if <a href="dataartsstudio_01_04501.html#dataartsstudio_01_04501__section146531751579">Whether MRS Resource Queue Is Mandatory</a> is set to <strong id="dataartsstudio_01_1823__en-us_topic_0181380725_b49381423121215">Yes</strong>.</p>
<p id="dataartsstudio_01_1823__p16841111123910">Select a queue you configured in the queue permissions of DataArts Security. If you set multiple resource queues for this node, the resource queue you select here has the highest priority.</p>
</td>
</tr>
<tr id="dataartsstudio_01_1823__row63751621701"><td class="cellrowborder" valign="top" width="20.18%" headers="mcps1.3.4.2.5.4.2.3.1.1 "><p id="dataartsstudio_01_1823__p6375152116016">Rerun Policy</p>
</td>
<td class="cellrowborder" valign="top" width="79.82000000000001%" headers="mcps1.3.4.2.5.4.2.3.1.2 "><ul id="dataartsstudio_01_1823__ul759944521115"><li id="dataartsstudio_01_1823__li8600545161113">Rerun from the previous checkpoint</li><li id="dataartsstudio_01_1823__li18781161121213">Rerun the job</li></ul>
</td>
</tr>
<tr id="dataartsstudio_01_1823__row1890101910014"><td class="cellrowborder" valign="top" width="20.18%" headers="mcps1.3.4.2.5.4.2.3.1.1 "><p id="dataartsstudio_01_1823__p49115199014">Input Data Path</p>
</td>
<td class="cellrowborder" valign="top" width="79.82000000000001%" headers="mcps1.3.4.2.5.4.2.3.1.2 "><p id="dataartsstudio_01_1823__p139110191011">Set the input data path. You can select an HDFS or OBS path.</p>
</td>
</tr>
<tr id="dataartsstudio_01_1823__row1281017141617"><td class="cellrowborder" valign="top" width="20.18%" headers="mcps1.3.4.2.5.4.2.3.1.1 "><p id="dataartsstudio_01_1823__p491617141616">Output Data Path</p>
</td>
<td class="cellrowborder" valign="top" width="79.82000000000001%" headers="mcps1.3.4.2.5.4.2.3.1.2 "><p id="dataartsstudio_01_1823__p1732173751916">Set the output data path. You can select an HDFS or OBS path.</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="dataartsstudio_01_1823__table7691319191317" frame="border" border="1" rules="all"><caption><b>Table 3 </b>Advanced Settings</caption><thead align="left"><tr id="dataartsstudio_01_1823__en-us_topic_0099822521_row27216578102411"><th align="left" class="cellrowborder" valign="top" width="21.58%" id="mcps1.3.4.2.5.5.2.4.1.1"><p id="dataartsstudio_01_1823__en-us_topic_0099822521_p57059205102411">Parameter</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="10.14%" id="mcps1.3.4.2.5.5.2.4.1.2"><p id="dataartsstudio_01_1823__en-us_topic_0099822521_p58392901102411">Mandatory</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="68.28%" id="mcps1.3.4.2.5.5.2.4.1.3"><p id="dataartsstudio_01_1823__en-us_topic_0099822521_p32204521102411">Description</p>
</th>
</tr>
</thead>
<tbody><tr id="dataartsstudio_01_1823__en-us_topic_0099822521_row51612113175"><td class="cellrowborder" valign="top" width="21.58%" headers="mcps1.3.4.2.5.5.2.4.1.1 "><p id="dataartsstudio_01_1823__en-us_topic_0099822521_p416115112178">Job Status Polling Interval (s)</p>
</td>
<td class="cellrowborder" valign="top" width="10.14%" headers="mcps1.3.4.2.5.5.2.4.1.2 "><p id="dataartsstudio_01_1823__en-us_topic_0099822521_p101615110176">Yes</p>
</td>
<td class="cellrowborder" valign="top" width="68.28%" headers="mcps1.3.4.2.5.5.2.4.1.3 "><p id="dataartsstudio_01_1823__en-us_topic_0099822521_p4161191101716">Set the interval at which the system checks whether the job is complete. The interval can range from 30s to 60s, or 120s, 180s, 240s, or 300s.</p>
<p id="dataartsstudio_01_1823__p731016893614">During job execution, the system checks the job status at the configured interval.</p>
</td>
</tr>
<tr id="dataartsstudio_01_1823__en-us_topic_0099822521_row5101045193916"><td class="cellrowborder" valign="top" width="21.58%" headers="mcps1.3.4.2.5.5.2.4.1.1 "><p id="dataartsstudio_01_1823__en-us_topic_0099822521_p147314419397">Maximum Wait Time</p>
</td>
<td class="cellrowborder" valign="top" width="10.14%" headers="mcps1.3.4.2.5.5.2.4.1.2 "><p id="dataartsstudio_01_1823__en-us_topic_0099822521_p610124511390">Yes</p>
</td>
<td class="cellrowborder" valign="top" width="68.28%" headers="mcps1.3.4.2.5.5.2.4.1.3 "><p id="dataartsstudio_01_1823__en-us_topic_0099822521_p11011456393">Set the timeout interval for the job. If the job is not complete within the timeout interval and retry is enabled, the job will be executed again.</p>
<div class="note" id="dataartsstudio_01_1823__note8676514123116"><span class="notetitle"> NOTE: </span><div class="notebody"><p id="dataartsstudio_01_1823__p76762148319">If the job is in starting state and fails to start, it will fail upon timeout.</p>
</div></div>
</td>
</tr>
<tr id="dataartsstudio_01_1823__en-us_topic_0099822521_row58429402102411"><td class="cellrowborder" valign="top" width="21.58%" headers="mcps1.3.4.2.5.5.2.4.1.1 "><p id="dataartsstudio_01_1823__en-us_topic_0099822521_p5533912102858">Retry upon Failure</p>
</td>
<td class="cellrowborder" valign="top" width="10.14%" headers="mcps1.3.4.2.5.5.2.4.1.2 "><p id="dataartsstudio_01_1823__en-us_topic_0099822521_p45593742102858">Yes</p>
</td>
<td class="cellrowborder" valign="top" width="68.28%" headers="mcps1.3.4.2.5.5.2.4.1.3 "><p id="dataartsstudio_01_1823__en-us_topic_0099822521_p2105628102858">Whether to re-execute the job if it fails</p>
<ul id="dataartsstudio_01_1823__en-us_topic_0099822521_ul18950660102858"><li id="dataartsstudio_01_1823__en-us_topic_0099822521_li36338219102858"><strong id="dataartsstudio_01_1823__b6512131476">Yes</strong>: The job will be re-executed if it fails. Configure the following parameters:<ul id="dataartsstudio_01_1823__en-us_topic_0099822521_ul58608523102858"><li id="dataartsstudio_01_1823__li170112912469">Retry upon Timeout</li><li id="dataartsstudio_01_1823__en-us_topic_0099822521_li44375787102858"><strong id="dataartsstudio_01_1823__b65701819121620">Maximum Retries</strong></li><li id="dataartsstudio_01_1823__en-us_topic_0099822521_li63837764102858"><strong id="dataartsstudio_01_1823__b216002620160">Retry Interval (seconds)</strong></li></ul>
</li><li id="dataartsstudio_01_1823__en-us_topic_0099822521_li37668971102858"><strong id="dataartsstudio_01_1823__b11914193171612">No</strong>: The job will not be re-executed if it fails. This is the default setting.<div class="note" id="dataartsstudio_01_1823__en-us_topic_0099822521_note845010501289"><span class="notetitle"> NOTE: </span><div class="notebody"><p id="dataartsstudio_01_1823__en-us_topic_0099822521_p1313284812516">If retry is configured for a job node and the timeout duration is configured, the system allows you to retry a node when the node execution times out.</p>
<p id="dataartsstudio_01_1823__p169071115449">If a node is not re-executed when it fails upon timeout, you can go to the <strong id="dataartsstudio_01_1823__b201915311171">Default Configuration</strong> page to modify this policy.</p>
<p id="dataartsstudio_01_1823__p112153420479"><strong id="dataartsstudio_01_1823__b58613182441439">Retry upon Timeout</strong> is displayed only when <strong id="dataartsstudio_01_1823__b169170503641439">Retry upon Failure</strong> is set to <strong id="dataartsstudio_01_1823__b186567420741439">Yes</strong>.</p>
</div></div>
</li></ul>
</td>
</tr>
</tbody>
</table>
</div>
</li><li id="dataartsstudio_01_1823__li104995178561">Enter one or more SQL statements in the SQL editor.<div class="note" id="dataartsstudio_01_1823__note1551273603017"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><ul id="dataartsstudio_01_1823__en-us_topic_0181092880_ul193361344111817"><li id="dataartsstudio_01_1823__en-us_topic_0181092880_li53361444184">SQL statements are separated by semicolons (<span class="parmvalue" id="dataartsstudio_01_1823__parmvalue5293424125211"><b>;</b></span>). If semicolons are used in other places but not used to separate SQL statements, escape them with backslashes (<span class="parmvalue" id="dataartsstudio_01_1823__parmvalue1384172715216"><b>\</b></span>). The following is an example:<pre class="screen" id="dataartsstudio_01_1823__en-us_topic_0181092880_screen857505931613">select 1;
select * from a where b="dsfa\;"; --example 1\;example 2.</pre>
</li><li id="dataartsstudio_01_1823__en-us_topic_0181092880_li873311161613">The script cannot be larger than 16 MB.</li><li id="dataartsstudio_01_1823__en-us_topic_0181092880_li133634441814">The system date obtained by using an SQL statement is different from that obtained by using the database tool. The query result is stored in the database in the YYYY-MM-DD format, but the query result displayed on the page is in the converted format.</li><li id="dataartsstudio_01_1823__en-us_topic_0181092880_li55661519182314">You can click <strong id="dataartsstudio_01_1823__b1423416101379">Check Syntax</strong> to check the syntax of Flink SQL jobs. Above the editor, click <strong id="dataartsstudio_01_1823__b2040114341678">Check Syntax</strong> to verify the semantics of SQL statements. After the check is complete, you can view the check result in the lower part of the page.</li><li id="dataartsstudio_01_1823__li17619233372">When viewing the script execution result, you can double-click a field in any row to view the result details. You can copy the field name.</li><li id="dataartsstudio_01_1823__li1836684741610">You can control display of the script execution history by setting <strong id="dataartsstudio_01_1823__en-us_topic_0181092880_b1785141313301">Script Execution History</strong> in <strong id="dataartsstudio_01_1823__en-us_topic_0181092880_b2962161610303">Default Configuration</strong> to <strong id="dataartsstudio_01_1823__en-us_topic_0181092880_b1943110206309">Myself</strong> or <strong id="dataartsstudio_01_1823__en-us_topic_0181092880_b161991225123012">All users</strong>.</li></ul>
</div></div>
<div class="p" id="dataartsstudio_01_1823__p6791111817564">To facilitate script development, <span id="dataartsstudio_01_1823__text38418268306">DataArts Factory</span> provides the following capabilities:<ul id="dataartsstudio_01_1823__ul2335154451820"><li id="dataartsstudio_01_1823__li203351144151815">The script editor supports the following shortcut keys, which improve the script development efficiency:<ul id="dataartsstudio_01_1823__ul56601946112219"><li id="dataartsstudio_01_1823__li14373185914265"><strong id="dataartsstudio_01_1823__b882853123015">F8</strong>: Run a script.</li><li id="dataartsstudio_01_1823__li26191439142715"><strong id="dataartsstudio_01_1823__b8313113815308">F9</strong>: Stop running a script.</li><li id="dataartsstudio_01_1823__li36602464228"><strong id="dataartsstudio_01_1823__b2452124043013">Ctrl</strong> + <strong id="dataartsstudio_01_1823__b445215409307">/</strong>: Comment out or uncomment the line or code block where the cursor resides.</li><li id="dataartsstudio_01_1823__li866019461229"><strong id="dataartsstudio_01_1823__b1859641153014">Ctrl</strong> + <strong id="dataartsstudio_01_1823__b10859104113018">Z</strong>: Undo an action.</li><li id="dataartsstudio_01_1823__li1866015462221"><strong id="dataartsstudio_01_1823__b125674439308">Ctrl</strong> + <strong id="dataartsstudio_01_1823__b175682431300">F</strong>: Search for information.</li><li id="dataartsstudio_01_1823__li2066024615229"><strong id="dataartsstudio_01_1823__b18059454305">Ctrl</strong> + <strong id="dataartsstudio_01_1823__b20805124511302">Shift</strong> + <strong id="dataartsstudio_01_1823__b15806845173020">R</strong>: Replace</li><li id="dataartsstudio_01_1823__li4660144642210"><strong id="dataartsstudio_01_1823__b06214863016">Ctrl</strong> + <strong id="dataartsstudio_01_1823__b563124812306">X</strong>: Cut</li><li id="dataartsstudio_01_1823__li3709114892715"><strong id="dataartsstudio_01_1823__b1292814496306">Ctrl</strong> + <strong id="dataartsstudio_01_1823__b89282049183016">S</strong>: Save a script.</li><li id="dataartsstudio_01_1823__li186601546192215"><strong id="dataartsstudio_01_1823__b727917522303">Alt</strong> + mouse dragging: Select columns to edit a block.</li><li id="dataartsstudio_01_1823__li19660146112213"><strong id="dataartsstudio_01_1823__b8611954113019">Ctrl</strong> + mouse click: Select multiple lines to edit or indent them together.</li><li id="dataartsstudio_01_1823__li766034613223"><strong id="dataartsstudio_01_1823__b67551183112">Ctrl</strong> + <strong id="dataartsstudio_01_1823__b375918313"></strong> (or <strong id="dataartsstudio_01_1823__b7751619315"></strong>): Move the cursor rightwards (or leftwards) by word.</li><li id="dataartsstudio_01_1823__li18660546182217"><strong id="dataartsstudio_01_1823__b138214423115">Ctrl</strong> +<strong id="dataartsstudio_01_1823__b882154193120"> Home</strong> or <strong id="dataartsstudio_01_1823__b08211240314">Ctrl</strong> + <strong id="dataartsstudio_01_1823__b182144143111">End</strong>: Navigate to the beginning or end of the current file.</li><li id="dataartsstudio_01_1823__li15660104662212"><strong id="dataartsstudio_01_1823__b1376157143111">Home</strong> or <strong id="dataartsstudio_01_1823__b19761978319">End</strong>: Navigate to the beginning or end of the current line.</li><li id="dataartsstudio_01_1823__li1666014682218"><strong id="dataartsstudio_01_1823__b1886119133113">Ctrl</strong> + <strong id="dataartsstudio_01_1823__b16861196314">Shift</strong> + <strong id="dataartsstudio_01_1823__b28611693313">L</strong>: Double-click all the same character strings and add cursors to them to implement batch modification.</li><li id="dataartsstudio_01_1823__li1252313711294"><strong id="dataartsstudio_01_1823__b2052571116318">Ctrl</strong> + <strong id="dataartsstudio_01_1823__b10525121110319">D</strong>: Delete a line.</li><li id="dataartsstudio_01_1823__li11649122613018"><strong id="dataartsstudio_01_1823__b17417171420317">Shift</strong> + <strong id="dataartsstudio_01_1823__b1841714147313">Ctrl</strong> + <strong id="dataartsstudio_01_1823__b1417121415318">U</strong>: Unlock a script.</li><li id="dataartsstudio_01_1823__li219431175418"><strong id="dataartsstudio_01_1823__b1419054412318">Ctrl</strong> + <strong id="dataartsstudio_01_1823__b1119024417318">Alt</strong> + <strong id="dataartsstudio_01_1823__b191902449312">K</strong>: Select the word where the cursor resides.</li><li id="dataartsstudio_01_1823__li5134344165412"><strong id="dataartsstudio_01_1823__b1067216467310">Ctrl</strong> + <strong id="dataartsstudio_01_1823__b1967374673112">B</strong>: Format</li><li id="dataartsstudio_01_1823__li94225277567"><strong id="dataartsstudio_01_1823__b92593510324">Ctrl</strong> + <strong id="dataartsstudio_01_1823__b62591352322">Shift</strong> + <strong id="dataartsstudio_01_1823__b425935203210">Z</strong>: Redo</li><li id="dataartsstudio_01_1823__li615165415612"><strong id="dataartsstudio_01_1823__b1331716715325">Ctrl</strong> + <strong id="dataartsstudio_01_1823__b173171716326">Enter</strong>: Execute the selected line or content.</li><li id="dataartsstudio_01_1823__li143125387582"><strong id="dataartsstudio_01_1823__b870019143219">Ctrl</strong> + <strong id="dataartsstudio_01_1823__b77001493327">Alt</strong> + <strong id="dataartsstudio_01_1823__b1470019133216">F</strong>: Flag</li><li id="dataartsstudio_01_1823__li2713113917215"><strong id="dataartsstudio_01_1823__b19503161119326">Ctrl</strong> + <strong id="dataartsstudio_01_1823__b1450301110321">Shift</strong> + <strong id="dataartsstudio_01_1823__b1750331111324">K</strong>: Search for the previous one.</li><li id="dataartsstudio_01_1823__li67146391428"><strong id="dataartsstudio_01_1823__b149341013143216">Ctrl</strong> + <strong id="dataartsstudio_01_1823__b0934013143218">K</strong>: Search for the next one.</li><li id="dataartsstudio_01_1823__li1371419391024"><strong id="dataartsstudio_01_1823__b758791610327">Ctrl</strong> + <strong id="dataartsstudio_01_1823__b55871716123210">Backspace</strong>: Delete the word to the left of the cursor.</li><li id="dataartsstudio_01_1823__li87154392213"><strong id="dataartsstudio_01_1823__b924521813212">Ctrl</strong> + <strong id="dataartsstudio_01_1823__b5245181811320">Delete</strong>: Delete the word to the right of the cursor.</li><li id="dataartsstudio_01_1823__li147151039126"><strong id="dataartsstudio_01_1823__b62221321103215">Alt</strong> + <strong id="dataartsstudio_01_1823__b20222621103210">Backspace</strong>: Delete all content from the beginning of the line to the cursor.</li><li id="dataartsstudio_01_1823__li971615395218"><strong id="dataartsstudio_01_1823__b722692393215">Alt</strong> + <strong id="dataartsstudio_01_1823__b52268239325">Delete</strong>: Delete all content from the cursor to the end of the line.</li><li id="dataartsstudio_01_1823__li071615397219"><strong id="dataartsstudio_01_1823__b1014102618327">Alt</strong> + <strong id="dataartsstudio_01_1823__b51412617322">Shift</strong>-<strong id="dataartsstudio_01_1823__b11472663217">Left</strong>: Select all content from the beginning of the line to the cursor.</li><li id="dataartsstudio_01_1823__li871610392213"><strong id="dataartsstudio_01_1823__b121273284323">Alt</strong> + <strong id="dataartsstudio_01_1823__b18128182893217">Shift</strong>-<strong id="dataartsstudio_01_1823__b612862815324">Right</strong>: Select all content from the cursor to the end of the line.</li></ul>
</li><li id="dataartsstudio_01_1823__li16575145911611">Script parameters<p id="dataartsstudio_01_1823__p657518593168"><a name="dataartsstudio_01_1823__li16575145911611"></a><a name="li16575145911611"></a>Enter script parameters in the SQL statement and click <strong id="dataartsstudio_01_1823__b418013711325">Parameter Setup</strong> in the right pane of the editor and then click <strong id="dataartsstudio_01_1823__b201801137183217">Update from Script</strong>. You can also directly configure parameters and constants for the job script.</p>
<p id="dataartsstudio_01_1823__p6575459201615">In the following script example, <em id="dataartsstudio_01_1823__i1399144113212">str1</em> indicates the parameter name. It can contain only letters, digits, hyphens (-), underscores (_), greater-than signs (&gt;), and less-than signs (&lt;), and can contain a maximum of 16 characters. The parameter name must be unique.</p>
<pre class="screen" id="dataartsstudio_01_1823__screen1357535918167">select ${str1} from data;</pre>
</li></ul>
</div>
</li><li id="dataartsstudio_01_1823__li1476011035420">(Optional) In the upper part of the editor, click <strong id="dataartsstudio_01_1823__b2663543133216">Format</strong> to format SQL statements.</li><li id="dataartsstudio_01_1823__li976018016547">Above the editor, click <strong id="dataartsstudio_01_1823__b1276621416387">Save</strong> to save the job and submit it.</li></ol>
</div>
<div class="section" id="dataartsstudio_01_1823__en-us_topic_0099797007_section754991272419"><a name="dataartsstudio_01_1823__en-us_topic_0099797007_section754991272419"></a><a name="en-us_topic_0099797007_section754991272419"></a><h4 class="sectiontitle">Configuring Job Parameters</h4><p id="dataartsstudio_01_1823__p174671056182519">Click <span class="wintitle" id="dataartsstudio_01_1823__wintitle13329182281714"><b>Parameters</b></span> on the right of the editor and set the parameters described in <a href="#dataartsstudio_01_1823__en-us_topic_0099797007_table20701161192718">Table 4</a>.</p>
<div class="tablenoborder"><a name="dataartsstudio_01_1823__en-us_topic_0099797007_table20701161192718"></a><a name="en-us_topic_0099797007_table20701161192718"></a><table cellpadding="4" cellspacing="0" summary="" id="dataartsstudio_01_1823__en-us_topic_0099797007_table20701161192718" frame="border" border="1" rules="all"><caption><b>Table 4 </b>Job parameters</caption><thead align="left"><tr id="dataartsstudio_01_1823__en-us_topic_0099797007_row4717717274"><th align="left" class="cellrowborder" valign="top" width="16.76%" id="mcps1.3.5.3.2.3.1.1"><p id="dataartsstudio_01_1823__en-us_topic_0099797007_p147221618278">Function</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="83.24000000000001%" id="mcps1.3.5.3.2.3.1.2"><p id="dataartsstudio_01_1823__en-us_topic_0099797007_p10726141162720">Description</p>
</th>
</tr>
</thead>
<tbody><tr id="dataartsstudio_01_1823__en-us_topic_0099797007_row1296517379302"><td class="cellrowborder" colspan="2" valign="top" headers="mcps1.3.5.3.2.3.1.1 mcps1.3.5.3.2.3.1.2 "><p id="dataartsstudio_01_1823__en-us_topic_0099797007_p1397534033012"><strong id="dataartsstudio_01_1823__b16516394276">Variables</strong></p>
</td>
</tr>
<tr id="dataartsstudio_01_1823__en-us_topic_0099797007_row17309182714"><td class="cellrowborder" valign="top" width="16.76%" headers="mcps1.3.5.3.2.3.1.1 "><p id="dataartsstudio_01_1823__en-us_topic_0099797007_p473391192713">Add</p>
</td>
<td class="cellrowborder" valign="top" width="83.24000000000001%" headers="mcps1.3.5.3.2.3.1.2 "><p id="dataartsstudio_01_1823__en-us_topic_0099797007_p273671112719">Click <span class="uicontrol" id="dataartsstudio_01_1823__uicontrol127641392817"><b>Add</b></span> and enter the variable parameter name and parameter value in the text boxes.</p>
<ul id="dataartsstudio_01_1823__en-us_topic_0099797007_ul187409117279"><li id="dataartsstudio_01_1823__en-us_topic_0099797007_li2743151172718">Parameter name<p id="dataartsstudio_01_1823__en-us_topic_0099797007_p1674851162719"><a name="dataartsstudio_01_1823__en-us_topic_0099797007_li2743151172718"></a><a name="en-us_topic_0099797007_li2743151172718"></a>Only letters, numbers, periods (.), hyphens (-), and underscores (_) are allowed.</p>
</li><li id="dataartsstudio_01_1823__en-us_topic_0099797007_li12762111142715">Parameter value<ul id="dataartsstudio_01_1823__en-us_topic_0099797007_ul157660122715"><li id="dataartsstudio_01_1823__en-us_topic_0099797007_li377818182715">The string type of parameter value is a character string, for example, <strong id="dataartsstudio_01_1823__b17946152352910">str1</strong>.</li><li id="dataartsstudio_01_1823__en-us_topic_0099797007_li678810112717">The numeric type of parameter value is a number or operation expression.</li></ul>
</li></ul>
<p id="dataartsstudio_01_1823__en-us_topic_0099797007_p17940172714">After the parameter is configured, it is referenced in the format of <strong id="dataartsstudio_01_1823__b11245112962910">$</strong>{<em id="dataartsstudio_01_1823__i10246129192915">parameter name</em>} in the job.</p>
</td>
</tr>
<tr id="dataartsstudio_01_1823__row1555413219271"><td class="cellrowborder" valign="top" width="16.76%" headers="mcps1.3.5.3.2.3.1.1 "><p id="dataartsstudio_01_1823__p344181110812">Edit Parameter Expression</p>
</td>
<td class="cellrowborder" valign="top" width="83.24000000000001%" headers="mcps1.3.5.3.2.3.1.2 "><p id="dataartsstudio_01_1823__p15901729135419">Click <span><img id="dataartsstudio_01_1823__image47411049125410" src="en-us_image_0000002234237164.png"></span> next to the parameter value text box. In the displayed dialog box, edit the parameter expression. For more expressions, see <a href="dataartsstudio_01_0494.html">Expression Overview</a>.</p>
</td>
</tr>
<tr id="dataartsstudio_01_1823__en-us_topic_0099797007_row158016117275"><td class="cellrowborder" valign="top" width="16.76%" headers="mcps1.3.5.3.2.3.1.1 "><p id="dataartsstudio_01_1823__en-us_topic_0099797007_p1480620116278">Modify</p>
</td>
<td class="cellrowborder" valign="top" width="83.24000000000001%" headers="mcps1.3.5.3.2.3.1.2 "><p id="dataartsstudio_01_1823__en-us_topic_0099797007_p68115114273">Change the parameter name or value in the corresponding text boxes.</p>
</td>
</tr>
<tr id="dataartsstudio_01_1823__row1221191403315"><td class="cellrowborder" valign="top" width="16.76%" headers="mcps1.3.5.3.2.3.1.1 "><p id="dataartsstudio_01_1823__p3211514153312">Mask</p>
</td>
<td class="cellrowborder" valign="top" width="83.24000000000001%" headers="mcps1.3.5.3.2.3.1.2 "><p id="dataartsstudio_01_1823__p92111914193315">If the parameter value is a key, click <span><img id="dataartsstudio_01_1823__image168804391333" src="en-us_image_0000002234077316.png"></span> to mask the value for security purposes.</p>
</td>
</tr>
<tr id="dataartsstudio_01_1823__en-us_topic_0099797007_row5824415277"><td class="cellrowborder" valign="top" width="16.76%" headers="mcps1.3.5.3.2.3.1.1 "><p id="dataartsstudio_01_1823__en-us_topic_0099797007_p12828171202719">Delete</p>
</td>
<td class="cellrowborder" valign="top" width="83.24000000000001%" headers="mcps1.3.5.3.2.3.1.2 "><p id="dataartsstudio_01_1823__en-us_topic_0099797007_p28314112712">Click <span><img id="dataartsstudio_01_1823__image1742175211346" src="en-us_image_0000002269116521.png"></span> next to the parameter name and value text boxes to delete the job parameter.</p>
</td>
</tr>
<tr id="dataartsstudio_01_1823__en-us_topic_0099797007_row12548195220309"><td class="cellrowborder" colspan="2" valign="top" headers="mcps1.3.5.3.2.3.1.1 mcps1.3.5.3.2.3.1.2 "><p id="dataartsstudio_01_1823__en-us_topic_0099797007_p1159195517308"><strong id="dataartsstudio_01_1823__b7991830143212">Constant Parameter</strong></p>
</td>
</tr>
<tr id="dataartsstudio_01_1823__en-us_topic_0099797007_row16650721143114"><td class="cellrowborder" valign="top" width="16.76%" headers="mcps1.3.5.3.2.3.1.1 "><p id="dataartsstudio_01_1823__en-us_topic_0099797007_p1458714273120">Add</p>
</td>
<td class="cellrowborder" valign="top" width="83.24000000000001%" headers="mcps1.3.5.3.2.3.1.2 "><p id="dataartsstudio_01_1823__en-us_topic_0099797007_p2587142113113">Click <span class="uicontrol" id="dataartsstudio_01_1823__uicontrol7582143817321"><b>Add</b></span> and enter the constant parameter name and parameter value in the text boxes.</p>
<ul id="dataartsstudio_01_1823__en-us_topic_0099797007_ul16587642103115"><li id="dataartsstudio_01_1823__en-us_topic_0099797007_en-us_topic_0099797007_li2743151172718">Parameter name<p id="dataartsstudio_01_1823__en-us_topic_0099797007_en-us_topic_0099797007_p1674851162719"><a name="dataartsstudio_01_1823__en-us_topic_0099797007_en-us_topic_0099797007_li2743151172718"></a><a name="en-us_topic_0099797007_en-us_topic_0099797007_li2743151172718"></a>Only letters, numbers, periods (.), hyphens (-), and underscores (_) are allowed.</p>
</li><li id="dataartsstudio_01_1823__en-us_topic_0099797007_en-us_topic_0099797007_li12762111142715">Parameter value<ul id="dataartsstudio_01_1823__en-us_topic_0099797007_en-us_topic_0099797007_ul157660122715"><li id="dataartsstudio_01_1823__en-us_topic_0099797007_en-us_topic_0099797007_li377818182715">The string type of parameter value is a character string, for example, <strong id="dataartsstudio_01_1823__b1058422415299">str1</strong>.</li><li id="dataartsstudio_01_1823__en-us_topic_0099797007_en-us_topic_0099797007_li678810112717">The numeric type of parameter value is a number or operation expression.</li></ul>
</li></ul>
<p id="dataartsstudio_01_1823__en-us_topic_0099797007_p258818427319">After the parameter is configured, it is referenced in the format of <strong id="dataartsstudio_01_1823__b108961329152912">$</strong>{<em id="dataartsstudio_01_1823__i78961629112917">parameter name</em>} in the job.</p>
</td>
</tr>
<tr id="dataartsstudio_01_1823__row2891034963"><td class="cellrowborder" valign="top" width="16.76%" headers="mcps1.3.5.3.2.3.1.1 "><p id="dataartsstudio_01_1823__p1955432162717">Edit Parameter Expression</p>
</td>
<td class="cellrowborder" valign="top" width="83.24000000000001%" headers="mcps1.3.5.3.2.3.1.2 "><p id="dataartsstudio_01_1823__p1028171911810">Click <span><img id="dataartsstudio_01_1823__image82811915819" src="en-us_image_0000002269116529.png"></span> next to the parameter value text box. In the displayed dialog box, edit the parameter expression. For more expressions, see <a href="dataartsstudio_01_0494.html">Expression Overview</a>.</p>
</td>
</tr>
<tr id="dataartsstudio_01_1823__en-us_topic_0099797007_row11706164053115"><td class="cellrowborder" valign="top" width="16.76%" headers="mcps1.3.5.3.2.3.1.1 "><p id="dataartsstudio_01_1823__en-us_topic_0099797007_p658864203114">Modify</p>
</td>
<td class="cellrowborder" valign="top" width="83.24000000000001%" headers="mcps1.3.5.3.2.3.1.2 "><p id="dataartsstudio_01_1823__en-us_topic_0099797007_p2588144211314">Modify the parameter name and parameter value in text boxes and save the modifications.</p>
</td>
</tr>
<tr id="dataartsstudio_01_1823__en-us_topic_0099797007_row14421933193118"><td class="cellrowborder" valign="top" width="16.76%" headers="mcps1.3.5.3.2.3.1.1 "><p id="dataartsstudio_01_1823__en-us_topic_0099797007_p18589164217318">Delete</p>
</td>
<td class="cellrowborder" valign="top" width="83.24000000000001%" headers="mcps1.3.5.3.2.3.1.2 "><p id="dataartsstudio_01_1823__en-us_topic_0099797007_p75897428311">Click <span><img id="dataartsstudio_01_1823__image6758230103520" src="en-us_image_0000002269196601.png"></span> next to the parameter name and value text boxes to delete the job parameter.</p>
</td>
</tr>
<tr id="dataartsstudio_01_1823__row10161330171213"><td class="cellrowborder" colspan="2" valign="top" headers="mcps1.3.5.3.2.3.1.1 mcps1.3.5.3.2.3.1.2 "><p id="dataartsstudio_01_1823__p111481853131015"><strong id="dataartsstudio_01_1823__b829120313172">Workspace Environment Variables</strong></p>
</td>
</tr>
<tr id="dataartsstudio_01_1823__row1873317332121"><td class="cellrowborder" colspan="2" valign="top" headers="mcps1.3.5.3.2.3.1.1 mcps1.3.5.3.2.3.1.2 "><p id="dataartsstudio_01_1823__p1510627151118">View the variables and constants that have been configured in the workspace.</p>
</td>
</tr>
</tbody>
</table>
</div>
<p id="dataartsstudio_01_1823__p1323193822219">Click the <strong id="dataartsstudio_01_1823__b066019385331">Parameter Preview</strong> tab and configure the parameters listed in <a href="#dataartsstudio_01_1823__table1036167182419">Table 5</a>.</p>
<div class="tablenoborder"><a name="dataartsstudio_01_1823__table1036167182419"></a><a name="table1036167182419"></a><table cellpadding="4" cellspacing="0" summary="" id="dataartsstudio_01_1823__table1036167182419" frame="border" border="1" rules="all"><caption><b>Table 5 </b>Job parameter preview</caption><thead align="left"><tr id="dataartsstudio_01_1823__row1361575245"><th align="left" class="cellrowborder" valign="top" width="16.76%" id="mcps1.3.5.5.2.3.1.1"><p id="dataartsstudio_01_1823__p536116710241">Function</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="83.24000000000001%" id="mcps1.3.5.5.2.3.1.2"><p id="dataartsstudio_01_1823__p43615712411">Description</p>
</th>
</tr>
</thead>
<tbody><tr id="dataartsstudio_01_1823__row1361579243"><td class="cellrowborder" valign="top" width="16.76%" headers="mcps1.3.5.5.2.3.1.1 "><p id="dataartsstudio_01_1823__p118286375340">Current Time</p>
</td>
<td class="cellrowborder" valign="top" width="83.24000000000001%" headers="mcps1.3.5.5.2.3.1.2 "><p id="dataartsstudio_01_1823__p182913378348">This parameter is displayed only when <strong id="dataartsstudio_01_1823__b134791011342">Scheduling Type</strong> is set to <strong id="dataartsstudio_01_1823__b1447201020349">Run once</strong>. The default value is the current time.</p>
</td>
</tr>
<tr id="dataartsstudio_01_1823__row19342175682920"><td class="cellrowborder" valign="top" width="16.76%" headers="mcps1.3.5.5.2.3.1.1 "><p id="dataartsstudio_01_1823__p121931610313">Event Triggering Time</p>
</td>
<td class="cellrowborder" valign="top" width="83.24000000000001%" headers="mcps1.3.5.5.2.3.1.2 "><p id="dataartsstudio_01_1823__p19494849103117">This parameter is displayed only when <strong id="dataartsstudio_01_1823__b105112171349">Scheduling Type</strong> is set to <strong id="dataartsstudio_01_1823__b13511191703419">Event-based</strong>. The default value is the time when an event is triggered.</p>
</td>
</tr>
<tr id="dataartsstudio_01_1823__row19620193410346"><td class="cellrowborder" valign="top" width="16.76%" headers="mcps1.3.5.5.2.3.1.1 "><p id="dataartsstudio_01_1823__p146621315163213">Scheduling Period</p>
</td>
<td class="cellrowborder" valign="top" width="83.24000000000001%" headers="mcps1.3.5.5.2.3.1.2 "><p id="dataartsstudio_01_1823__p34114314322">This parameter is displayed only when <strong id="dataartsstudio_01_1823__b12767165983413">Scheduling Type</strong> is set to <strong id="dataartsstudio_01_1823__b476745913419">Run periodically</strong>. The default value is the scheduling period.</p>
</td>
</tr>
<tr id="dataartsstudio_01_1823__row225551163510"><td class="cellrowborder" valign="top" width="16.76%" headers="mcps1.3.5.5.2.3.1.1 "><p id="dataartsstudio_01_1823__p154874171013">Start Time</p>
</td>
<td class="cellrowborder" valign="top" width="83.24000000000001%" headers="mcps1.3.5.5.2.3.1.2 "><p id="dataartsstudio_01_1823__p2487141712110">This parameter is displayed only when <strong id="dataartsstudio_01_1823__b144671133516">Scheduling Type</strong> is set to <strong id="dataartsstudio_01_1823__b124671314354">Run periodically</strong>. The value is the configured job execution time.</p>
</td>
</tr>
<tr id="dataartsstudio_01_1823__row782465317297"><td class="cellrowborder" valign="top" width="16.76%" headers="mcps1.3.5.5.2.3.1.1 "><p id="dataartsstudio_01_1823__p2608142318120">Start Time</p>
</td>
<td class="cellrowborder" valign="top" width="83.24000000000001%" headers="mcps1.3.5.5.2.3.1.2 "><p id="dataartsstudio_01_1823__p1660832310117">This parameter is displayed only when <strong id="dataartsstudio_01_1823__b247019119359">Scheduling Type</strong> is set to <strong id="dataartsstudio_01_1823__b1547013163518">Run periodically</strong>. The value is the time when the periodic job scheduling starts.</p>
</td>
</tr>
<tr id="dataartsstudio_01_1823__row736211772414"><td class="cellrowborder" valign="top" width="16.76%" headers="mcps1.3.5.5.2.3.1.1 "><p id="dataartsstudio_01_1823__p133627752411">Subsequent Instances</p>
</td>
<td class="cellrowborder" valign="top" width="83.24000000000001%" headers="mcps1.3.5.5.2.3.1.2 "><p id="dataartsstudio_01_1823__p11718104211298">Number of job instances scheduled.</p>
<ul id="dataartsstudio_01_1823__ul16464763019"><li id="dataartsstudio_01_1823__li1424718304">The default value is <strong id="dataartsstudio_01_1823__b736112517351">1</strong> when <strong id="dataartsstudio_01_1823__b14361152513511">Scheduling Type</strong> is set to <strong id="dataartsstudio_01_1823__b3362325173512">Run once</strong>.</li><li id="dataartsstudio_01_1823__li1443315333013">The default value is <strong id="dataartsstudio_01_1823__b1033827163514">1</strong> when <strong id="dataartsstudio_01_1823__b1344275354">Scheduling Type</strong> is set to <strong id="dataartsstudio_01_1823__b1334427183515">Event-based</strong>.</li><li id="dataartsstudio_01_1823__li132701419133312">When <strong id="dataartsstudio_01_1823__b1714110297355">Scheduling Type</strong> is set to <strong id="dataartsstudio_01_1823__b1914152983511">Run periodically</strong>:<p id="dataartsstudio_01_1823__p1820013301358">If the number of instances exceeds 10, a maximum of 10 instances can be displayed, and the system displays message "A maximum of 10 instances are supported."</p>
</li></ul>
</td>
</tr>
</tbody>
</table>
</div>
<div class="note" id="dataartsstudio_01_1823__note7110121213913"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="dataartsstudio_01_1823__p081333017438">In <strong id="dataartsstudio_01_1823__b19839103353511">Parameter Preview</strong>, if a job parameter has a syntax error, the system displays a message.</p>
<p id="dataartsstudio_01_1823__p111019128395">If a parameter depends on the data generated during job execution, such data cannot be simulated and displayed in <strong id="dataartsstudio_01_1823__b114164365353">Parameter Preview</strong>.</p>
</div></div>
</div>
<div class="section" id="dataartsstudio_01_1823__section1462324142616"><a name="dataartsstudio_01_1823__section1462324142616"></a><a name="section1462324142616"></a><h4 class="sectiontitle">Saving a Job</h4><p id="dataartsstudio_01_1823__en-us_topic_0099797007_p14530129204215">After configuring the job, perform the following operations:</p>
<ol id="dataartsstudio_01_1823__en-us_topic_0099797007_ol154526212465"><li id="dataartsstudio_01_1823__en-us_topic_0099797007_li118622411466"><span>Click <strong id="dataartsstudio_01_1823__b1448413073817">Start</strong> to execute the job. When viewing the script execution result, you can double-click a field in any row to view the result details. You can copy the field name.</span><p><div class="note" id="dataartsstudio_01_1823__note1788173420314"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="dataartsstudio_01_1823__p10788113443114">A maximum of 1,000 records can be displayed in the execution result. The size of the execution result cannot exceed 3 MB. If the size exceeds 3 MB, the result will be truncated.</p>
</div></div>
</p></li><li id="dataartsstudio_01_1823__en-us_topic_0099797007_li189612332212"><span>After the job is executed, click <span><img id="dataartsstudio_01_1823__image59891934121811" src="en-us_image_0000002234079692.png"></span> to save the job configuration.</span><p><p id="dataartsstudio_01_1823__p76458226213">After the job is saved, a version is automatically generated and displayed in <strong id="dataartsstudio_01_1823__en-us_topic_0181491854_b1186121412414">Versions</strong>. The version can be rolled back. If you save a job multiple times within a minute, only one version is recorded. If the intermediate data is important, you can click <strong id="dataartsstudio_01_1823__en-us_topic_0181491854_b1476819388105712">Save new version</strong> to save and add a version.</p>
</p></li></ol>
</div>
<div class="section" id="dataartsstudio_01_1823__section2246103584414"><a name="dataartsstudio_01_1823__section2246103584414"></a><a name="section2246103584414"></a><h4 class="sectiontitle">Templates</h4><p id="dataartsstudio_01_1823__en-us_topic_0181092880_p12553179173113">When developing a real-time processing, single-task Flink SQL job, you can use a public script template. For details about how to create a template, see <a href="dataartsstudio_01_1282.html">Configuring a Template</a>. For details about how to use a script template, see <a href="dataartsstudio_01_1582.html">Using Script Templates and Parameter Templates</a>. </p>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="dataartsstudio_01_0431.html">Job Development</a></div>
</div>
</div>
<script language="JavaScript">
<!--
initImageViewer('.imgResize');
var msg_imageMax = "view original image";
var msg_imageClose = "close";
//--></script>