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>
132 lines
18 KiB
HTML
132 lines
18 KiB
HTML
<a name="dli_08_0253"></a><a name="dli_08_0253"></a>
|
|
|
|
<h1 class="topictitle1">DCS Sink Stream</h1>
|
|
<div id="body1574393117310"><div class="section" id="dli_08_0253__en-us_topic_0111499977_section981791218502"><h4 class="sectiontitle">Function</h4><p id="dli_08_0253__en-us_topic_0111499977_p108830172403">DLI exports the Flink job output data to Redis of DCS. Redis is a storage system that supports multiple types of data structures such as key-value. It can be used in scenarios such as caching, event pub/sub, and high-speed queuing. Redis supports direct read/write of strings, hashes, lists, queues, and sets. Redis works with in-memory dataset and provides persistence. For more information about Redis, visit <a href="https://redis.io/" target="_blank" rel="noopener noreferrer">https://redis.io/</a>.</p>
|
|
<p id="dli_08_0253__p1560112319345">DCS provides Redis-compatible, secure, reliable, out-of-the-box, distributed cache capabilities allowing elastic scaling and convenient management. It meets users' requirements for high concurrency and fast data access.</p>
|
|
<p id="dli_08_0253__en-us_topic_0111499977_p133801532134014"></p>
|
|
<p id="dli_08_0253__en-us_topic_0111499977_p638582253313">For more information about DCS, see the <em id="dli_08_0253__en-us_topic_0111499977_i84235269719534">Distributed Cache Service User Guide</em>.</p>
|
|
</div>
|
|
<div class="section" id="dli_08_0253__en-us_topic_0111499977_section1773605853811"><h4 class="sectiontitle">Prerequisites</h4><ul id="dli_08_0253__en-us_topic_0111499977_ul810551215398"><li id="dli_08_0253__en-us_topic_0111499977_li6425436163814">Ensure that You have created a Redis cache instance on DCS using your account.<p id="dli_08_0253__en-us_topic_0111499977_p122455333317"><a name="dli_08_0253__en-us_topic_0111499977_li6425436163814"></a><a name="en-us_topic_0111499977_li6425436163814"></a>For details about how to create a Redis cache instance, see <span class="filepath" id="dli_08_0253__en-us_topic_0111499977_filepath16954194272818"><b>Creating a DCS Instance</b></span> in the <em id="dli_08_0253__en-us_topic_0111499977_i19659134742816">Distributed Cache Service User Guide</em>.</p>
|
|
</li><li id="dli_08_0253__en-us_topic_0111499977_li14111191212396">In this scenario, jobs must run on the dedicated queue of DLI. Therefore, DLI must be interconnected with the DCS clusters. You can also set the security group rules as required.<p id="dli_08_0253__p94091618103916"><a name="dli_08_0253__en-us_topic_0111499977_li14111191212396"></a><a name="en-us_topic_0111499977_li14111191212396"></a>For details about how to create an enhanced datasource connection, see <span class="filepath" id="dli_08_0253__dli_08_0249_en-us_topic_0132966325_filepath13726182511815"><b>Enhanced Datasource Connections</b></span> in the <i><cite id="dli_08_0253__dli_08_0249_cite534516e564224b13bad1de4471da3139181527">Data Lake Insight User Guide</cite></i>.</p>
|
|
<p id="dli_08_0253__p144491727166">For details about how to configure security group rules, see <span class="filepath" id="dli_08_0253__dli_08_0249_filepath78235157113"><b>Security Group</b></span> in the <em id="dli_08_0253__dli_08_0249_i082519153111">Virtual Private Cloud User Guide</em>.</p>
|
|
</li><li id="dli_08_0253__en-us_topic_0111499977_li11618124194115">If you use a VPC peering connection to access a DCS instance, the following restrictions also apply:<ul id="dli_08_0253__en-us_topic_0111499977_ul135861318184114"><li id="dli_08_0253__en-us_topic_0111499977_li3586818134118">If network segment 172.16.0.0/12~24 is used during DCS instance creation, the DLI queue cannot be in any of the following network segments: 192.168.1.0/24, 192.168.2.0/24, and 192.168.3.0/24.</li><li id="dli_08_0253__en-us_topic_0111499977_li11586918104119">If network segment 192.168.0.0/16~24 is used during DCS instance creation, the DLI queue cannot be in any of the following network segments: 172.31.1.0/24, 172.31.2.0/24, and 172.31.3.0/24.</li><li id="dli_08_0253__en-us_topic_0111499977_li55861818124119">If network segment 10.0.0.0/8~24 is used during DCS instance creation, the DLI queue cannot be in any of the following network segments: 172.31.1.0/24, 172.31.2.0/24, and 172.31.3.0/24.</li></ul>
|
|
</li></ul>
|
|
</div>
|
|
<div class="section" id="dli_08_0253__en-us_topic_0111499977_section11770184810457"><h4 class="sectiontitle">Syntax</h4><div class="codecoloring" codetype="Sql" id="dli_08_0253__screen197471727203519"><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></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="n">SINK</span><span class="w"> </span><span class="n">STREAM</span><span class="w"> </span><span class="n">stream_id</span><span class="w"> </span><span class="p">(</span><span class="n">attr_name</span><span class="w"> </span><span class="n">attr_type</span><span class="w"> </span><span class="p">(</span><span class="s1">','</span><span class="w"> </span><span class="n">attr_name</span><span class="w"> </span><span class="n">attr_type</span><span class="p">)</span><span class="o">*</span><span class="w"> </span><span class="p">)</span>
|
|
<span class="w"> </span><span class="k">WITH</span><span class="w"> </span><span class="p">(</span>
|
|
<span class="w"> </span><span class="k">type</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="ss">"dcs_redis"</span><span class="p">,</span>
|
|
<span class="w"> </span><span class="n">region</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="ss">""</span><span class="p">,</span>
|
|
<span class="w"> </span><span class="n">cluster_address</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="ss">""</span><span class="p">,</span>
|
|
<span class="w"> </span><span class="n">password</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="ss">""</span><span class="p">,</span>
|
|
<span class="w"> </span><span class="n">value_type</span><span class="o">=</span><span class="w"> </span><span class="ss">""</span><span class="p">,</span><span class="n">key_value</span><span class="o">=</span><span class="w"> </span><span class="ss">""</span>
|
|
<span class="w"> </span><span class="p">);</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="dli_08_0253__section4389114817368"><h4 class="sectiontitle">Keywords</h4>
|
|
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="dli_08_0253__en-us_topic_0111499977_table850413173256" frame="border" border="1" rules="all"><caption><b>Table 1 </b>Keywords</caption><thead align="left"><tr id="dli_08_0253__en-us_topic_0111499977_row552041722513"><th align="left" class="cellrowborder" valign="top" width="14.131313131313131%" id="mcps1.3.4.2.2.4.1.1"><p id="dli_08_0253__en-us_topic_0111499977_p1752631792513">Parameter</p>
|
|
</th>
|
|
<th align="left" class="cellrowborder" valign="top" width="10%" id="mcps1.3.4.2.2.4.1.2"><p id="dli_08_0253__en-us_topic_0111499977_p153121715254">Mandatory</p>
|
|
</th>
|
|
<th align="left" class="cellrowborder" valign="top" width="75.86868686868686%" id="mcps1.3.4.2.2.4.1.3"><p id="dli_08_0253__en-us_topic_0111499977_p125361717202512">Description</p>
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody><tr id="dli_08_0253__en-us_topic_0111499977_row954321702518"><td class="cellrowborder" valign="top" width="14.131313131313131%" headers="mcps1.3.4.2.2.4.1.1 "><p id="dli_08_0253__en-us_topic_0111499977_p7551917132515">type</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="10%" headers="mcps1.3.4.2.2.4.1.2 "><p id="dli_08_0253__en-us_topic_0111499977_p15554161752510">Yes</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="75.86868686868686%" headers="mcps1.3.4.2.2.4.1.3 "><p id="dli_08_0253__en-us_topic_0111499977_p20560101752514">Output channel type. <strong id="dli_08_0253__en-us_topic_0111499977_b842352706193849">dcs_redis</strong> indicates that data is exported to DCS Redis.</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="dli_08_0253__en-us_topic_0111499977_row1856371742513"><td class="cellrowborder" valign="top" width="14.131313131313131%" headers="mcps1.3.4.2.2.4.1.1 "><p id="dli_08_0253__en-us_topic_0111499977_p1356713171255">region</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="10%" headers="mcps1.3.4.2.2.4.1.2 "><p id="dli_08_0253__en-us_topic_0111499977_p205748174258">Yes</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="75.86868686868686%" headers="mcps1.3.4.2.2.4.1.3 "><p id="dli_08_0253__en-us_topic_0111499977_p1258013174254">Region where DCS for storing the data is located.</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="dli_08_0253__en-us_topic_0111499977_row115831717172514"><td class="cellrowborder" valign="top" width="14.131313131313131%" headers="mcps1.3.4.2.2.4.1.1 "><p id="dli_08_0253__en-us_topic_0111499977_p115888179252">cluster_address</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="10%" headers="mcps1.3.4.2.2.4.1.2 "><p id="dli_08_0253__en-us_topic_0111499977_p4595717192511">Yes</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="75.86868686868686%" headers="mcps1.3.4.2.2.4.1.3 "><p id="dli_08_0253__en-us_topic_0111499977_p20599111714250">Redis instance connection address.</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="dli_08_0253__en-us_topic_0111499977_row16602101742512"><td class="cellrowborder" valign="top" width="14.131313131313131%" headers="mcps1.3.4.2.2.4.1.1 "><p id="dli_08_0253__en-us_topic_0111499977_p360614174254">password</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="10%" headers="mcps1.3.4.2.2.4.1.2 "><p id="dli_08_0253__en-us_topic_0111499977_p4611717162520">No</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="75.86868686868686%" headers="mcps1.3.4.2.2.4.1.3 "><p id="dli_08_0253__en-us_topic_0111499977_p1461841720252">Redis instance connection password. This parameter is not required if password-free access is used.</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="dli_08_0253__en-us_topic_0111499977_row1162161782515"><td class="cellrowborder" valign="top" width="14.131313131313131%" headers="mcps1.3.4.2.2.4.1.1 "><p id="dli_08_0253__en-us_topic_0111499977_p2249144665714">value_type</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="10%" headers="mcps1.3.4.2.2.4.1.2 "><p id="dli_08_0253__en-us_topic_0111499977_p1632141792513">Yes</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="75.86868686868686%" headers="mcps1.3.4.2.2.4.1.3 "><p id="dli_08_0253__en-us_topic_0111499977_p9919163316516">This parameter can be set to any or the combination of the following options:</p>
|
|
<ul id="dli_08_0253__en-us_topic_0111499977_ul1074421011279"><li id="dli_08_0253__en-us_topic_0111499977_li274471014277">Data types, including <strong id="dli_08_0253__en-us_topic_0111499977_b184141010422">string</strong>, <strong id="dli_08_0253__en-us_topic_0111499977_b1631112128426">list</strong>, <strong id="dli_08_0253__en-us_topic_0111499977_b104731614124212">hash</strong>, <strong id="dli_08_0253__en-us_topic_0111499977_b12697816194219">set</strong>, and <strong id="dli_08_0253__en-us_topic_0111499977_b03451019164219">zset</strong></li><li id="dli_08_0253__en-us_topic_0111499977_li97441110162710">Commands used to set the expiration time of a key, including <strong id="dli_08_0253__en-us_topic_0111499977_b1685331844111">expire</strong>, <strong id="dli_08_0253__en-us_topic_0111499977_b19558182034111">pexpire</strong>, <strong id="dli_08_0253__en-us_topic_0111499977_b11636112215412">expireAt</strong>, and <strong id="dli_08_0253__en-us_topic_0111499977_b10790152474110">pexpireAt</strong></li><li id="dli_08_0253__en-us_topic_0111499977_li22156569225">Commands used to delete a key, including <strong id="dli_08_0253__en-us_topic_0111499977_b174936014113">del</strong> and <strong id="dli_08_0253__en-us_topic_0111499977_b62332576406">hdel</strong></li></ul>
|
|
<p id="dli_08_0253__en-us_topic_0111499977_p20411234231">Use commas (,) to separate multiple commands.</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="dli_08_0253__en-us_topic_0111499977_row966661732517"><td class="cellrowborder" valign="top" width="14.131313131313131%" headers="mcps1.3.4.2.2.4.1.1 "><p id="dli_08_0253__en-us_topic_0111499977_p1673121716254">key_value</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="10%" headers="mcps1.3.4.2.2.4.1.2 "><p id="dli_08_0253__en-us_topic_0111499977_p1467971711251">Yes</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="75.86868686868686%" headers="mcps1.3.4.2.2.4.1.3 "><p id="dli_08_0253__en-us_topic_0111499977_p14811845506">Key and value. The number of key_value pairs must be the same as the number of types specified by value_type, and key_value pairs are separated by semicolons (;). Both key and value can be specified through parameter configurations. The dynamic column name is represented by ${column name}.</p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
<div class="section" id="dli_08_0253__section1140962543716"><h4 class="sectiontitle">Precautions</h4><ul id="dli_08_0253__en-us_topic_0111499977_ul4427103610388"><li id="dli_08_0253__en-us_topic_0111499977_li1493920125717">If a configuration item can be specified through parameter configurations, one or more columns in the record can be used as part of the configuration item. For example, if the configuration item is set to <strong id="dli_08_0253__en-us_topic_0111499977_b842352706185125">car_$ {car_brand}</strong> and the value of <strong id="dli_08_0253__en-us_topic_0111499977_b842352706185132">car_brand</strong> in a record is <strong id="dli_08_0253__en-us_topic_0111499977_b842352706185138">BMW</strong>, the value of this configuration item is <strong id="dli_08_0253__en-us_topic_0111499977_b842352706185147">car_BMW</strong> in the record.</li><li id="dli_08_0253__en-us_topic_0111499977_li782182711018">Characters ":", ",", ";", "$", "{", and "}" have been used as special separators without the escape function. These characters cannot be used in key and value as common characters. Otherwise, parsing will be affected and the program exceptions will occur.</li></ul>
|
|
</div>
|
|
<div class="section" id="dli_08_0253__en-us_topic_0111499977_section1356813564451"><h4 class="sectiontitle">Example</h4><div class="p" id="dli_08_0253__en-us_topic_0111499977_p359492754516">Data of stream <strong id="dli_08_0253__en-us_topic_0111499977_b842352706144030">qualified_cars</strong> is exported to the Redis cache instance on DCS.<div class="codecoloring" codetype="Sql" id="dli_08_0253__en-us_topic_0111499977_screen472861732510"><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></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="n">SINK</span><span class="w"> </span><span class="n">STREAM</span><span class="w"> </span><span class="n">qualified_cars</span><span class="w"> </span><span class="p">(</span>
|
|
<span class="w"> </span><span class="n">car_id</span><span class="w"> </span><span class="n">STRING</span><span class="p">,</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="n">car_owner</span><span class="w"> </span><span class="n">STRING</span><span class="p">,</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="n">car_age</span><span class="w"> </span><span class="nb">INT</span><span class="p">,</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="n">average_speed</span><span class="w"> </span><span class="n">DOUBLE</span><span class="p">,</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="n">total_miles</span><span class="w"> </span><span class="n">DOUBLE</span>
|
|
<span class="p">)</span>
|
|
<span class="w"> </span><span class="k">WITH</span><span class="w"> </span><span class="p">(</span>
|
|
<span class="w"> </span><span class="k">type</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="ss">"dcs_redis"</span><span class="p">,</span>
|
|
<span class="w"> </span><span class="n">cluster_address</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="ss">"192.168.0.34:6379"</span><span class="p">,</span>
|
|
<span class="w"> </span><span class="n">password</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="ss">"xxxxxxxx"</span><span class="p">,</span>
|
|
<span class="w"> </span><span class="n">value_type</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="ss">"string; list; hash; set; zset"</span><span class="p">,</span>
|
|
<span class="w"> </span><span class="n">key_value</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="ss">"${car_id}_str: ${car_owner}; name_list: ${car_owner}; ${car_id}_hash: {name:${car_owner}, age: ${car_age}}; name_set: ${car_owner}; math_zset: {${car_owner}:${average_speed}}"</span>
|
|
<span class="w"> </span><span class="p">);</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<div class="familylinks">
|
|
<div class="parentlink"><strong>Parent topic:</strong> <a href="dli_08_0240.html">Creating a Sink Stream</a></div>
|
|
</div>
|
|
</div>
|
|
|