doc-exports/docs/dli/sqlreference/dli_08_0305.html
Su, Xiaomeng 04d4597cf3 dli_sqlreference_0511_version
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>
2023-11-02 14:34:08 +00:00

124 lines
14 KiB
HTML

<a name="dli_08_0305"></a><a name="dli_08_0305"></a>
<h1 class="topictitle1">Redis Source Table</h1>
<div id="body8662426"><div class="section" id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_dli_08_0238_en-us_topic_0113887276_en-us_topic_0111499973_section13926185035213"><h4 class="sectiontitle">Function</h4><p id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_dli_08_0238_en-us_topic_0113887276_en-us_topic_0111499973_p18963184212118">Create a source stream to obtain data from Redis as input for jobs.</p>
</div>
<div class="section" id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_dli_08_0238_en-us_topic_0113887276_en-us_topic_0111499973_section19566131381513"><h4 class="sectiontitle">Prerequisites</h4><p id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_p7594134372515">An enhanced datasource connection with Redis has been established, so that you can configure security group rules as required.</p>
</div>
<div class="section" id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_dli_08_0238_en-us_topic_0113887276_en-us_topic_0111499973_section1810912715521"><h4 class="sectiontitle">Syntax</h4><div class="codecoloring" codetype="Sql" id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_dli_08_0277_screen29519537283"><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></pre></div></td><td class="code"><div><pre><span></span><span class="k">create</span><span class="w"> </span><span class="k">table</span><span class="w"> </span><span class="n">dwsSource</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="n">attr_name</span><span class="w"> </span><span class="n">attr_type</span><span class="w"> </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="w"> </span><span class="p">(</span><span class="s1">','</span><span class="w"> </span><span class="n">watermark</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">rowtime_column_name</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">watermark</span><span class="o">-</span><span class="n">strategy_expression</span><span class="p">)</span>
<span class="p">)</span>
<span class="k">with</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="s1">'connector.type'</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'redis'</span><span class="p">,</span>
<span class="w"> </span><span class="s1">'connector.host'</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">''</span><span class="p">,</span>
<span class="w"> </span><span class="s1">'connector.port'</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">''</span>
<span class="p">);</span>
</pre></div></td></tr></table></div>
</div>
</div>
<div class="section" id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_dli_08_0238_section16603141783010"><h4 class="sectiontitle">Parameters</h4>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_dli_08_0238_en-us_topic_0113887276_en-us_topic_0111499973_table15955155035214" frame="border" border="1" rules="all"><caption><b>Table 1 </b>Parameter description</caption><thead align="left"><tr id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_dli_08_0238_en-us_topic_0113887276_en-us_topic_0111499973_row29690509522"><th align="left" class="cellrowborder" valign="top" width="22.12%" id="mcps1.3.4.2.2.4.1.1"><p id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_dli_08_0238_en-us_topic_0113887276_en-us_topic_0111499973_p697520507529">Parameter</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="12.7%" id="mcps1.3.4.2.2.4.1.2"><p id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_dli_08_0238_en-us_topic_0113887276_en-us_topic_0111499973_p997925010528">Mandatory</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="65.18%" id="mcps1.3.4.2.2.4.1.3"><p id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_dli_08_0238_en-us_topic_0113887276_en-us_topic_0111499973_p9983150185215">Description</p>
</th>
</tr>
</thead>
<tbody><tr id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_dli_08_0238_en-us_topic_0113887276_en-us_topic_0111499973_row398835017524"><td class="cellrowborder" valign="top" width="22.12%" headers="mcps1.3.4.2.2.4.1.1 "><p id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_en-us_topic_0000001080679435_p11571163194715">connector.type</p>
</td>
<td class="cellrowborder" valign="top" width="12.7%" headers="mcps1.3.4.2.2.4.1.2 "><p id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_en-us_topic_0000001080679435_p457213319472">Yes</p>
</td>
<td class="cellrowborder" valign="top" width="65.18%" headers="mcps1.3.4.2.2.4.1.3 "><p id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_en-us_topic_0000001080679435_p15721631124720">Connector type. Set this parameter to <strong id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_b1551852935515">redis</strong>.</p>
</td>
</tr>
<tr id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_dli_08_0238_en-us_topic_0113887276_en-us_topic_0111499973_row210135125214"><td class="cellrowborder" valign="top" width="22.12%" headers="mcps1.3.4.2.2.4.1.1 "><p id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_en-us_topic_0000001080679435_p5572731184713">connector.host</p>
</td>
<td class="cellrowborder" valign="top" width="12.7%" headers="mcps1.3.4.2.2.4.1.2 "><p id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_en-us_topic_0000001080679435_p3572133154715">Yes</p>
</td>
<td class="cellrowborder" valign="top" width="65.18%" headers="mcps1.3.4.2.2.4.1.3 "><p id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_en-us_topic_0000001080679435_p1757263114475">Redis connector address</p>
</td>
</tr>
<tr id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_dli_08_0238_en-us_topic_0113887276_en-us_topic_0111499973_row124195117528"><td class="cellrowborder" valign="top" width="22.12%" headers="mcps1.3.4.2.2.4.1.1 "><p id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_en-us_topic_0000001080679435_p1057218314476">connector.port</p>
</td>
<td class="cellrowborder" valign="top" width="12.7%" headers="mcps1.3.4.2.2.4.1.2 "><p id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_en-us_topic_0000001080679435_p11572113114477">Yes</p>
</td>
<td class="cellrowborder" valign="top" width="65.18%" headers="mcps1.3.4.2.2.4.1.3 "><p id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_en-us_topic_0000001080679435_p657263154715">Redis connector port</p>
</td>
</tr>
<tr id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_dli_08_0238_en-us_topic_0113887276_en-us_topic_0111499973_row15401751115211"><td class="cellrowborder" valign="top" width="22.12%" headers="mcps1.3.4.2.2.4.1.1 "><p id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_en-us_topic_0000001080679435_p1457293194711">connector.password</p>
</td>
<td class="cellrowborder" valign="top" width="12.7%" headers="mcps1.3.4.2.2.4.1.2 "><p id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_en-us_topic_0000001080679435_p6572153120474">No</p>
</td>
<td class="cellrowborder" valign="top" width="65.18%" headers="mcps1.3.4.2.2.4.1.3 "><p id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_en-us_topic_0000001080679435_p1572331194712">Redis authentication password</p>
</td>
</tr>
<tr id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_row5416114395"><td class="cellrowborder" valign="top" width="22.12%" headers="mcps1.3.4.2.2.4.1.1 "><p id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_p104117118390">connector.deploy-mode</p>
</td>
<td class="cellrowborder" valign="top" width="12.7%" headers="mcps1.3.4.2.2.4.1.2 "><p id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_p641201111397">No</p>
</td>
<td class="cellrowborder" valign="top" width="65.18%" headers="mcps1.3.4.2.2.4.1.3 "><p id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_p124161110399">Redis deployment mode. The value can be <strong id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_b55613335618">standalone</strong> or <strong id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_b125513415612">cluster</strong>. The default value is <strong id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_b2915746155618">standalone</strong>.</p>
</td>
</tr>
<tr id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_dli_08_0238_en-us_topic_0113887276_en-us_topic_0111499973_row9567519522"><td class="cellrowborder" valign="top" width="22.12%" headers="mcps1.3.4.2.2.4.1.1 "><p id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_en-us_topic_0000001080679435_p1657263154715">connector.table-name</p>
</td>
<td class="cellrowborder" valign="top" width="12.7%" headers="mcps1.3.4.2.2.4.1.2 "><p id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_en-us_topic_0000001080679435_p4572123118470">No</p>
</td>
<td class="cellrowborder" valign="top" width="65.18%" headers="mcps1.3.4.2.2.4.1.3 "><p id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_en-us_topic_0000001080679435_p7572113118475">Name of the table stored in the Redis. This parameter is mandatory in the Redis Hashmap storage pattern. In this pattern, data is stored to Redis in hashmaps. The hash key is <strong id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_b1122724217203">${table-name}:${ext-key}</strong>, and the field name is the column name.</p>
<div class="note" id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_note1032160172"><span class="notetitle"> NOTE: </span><div class="notebody"><p id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_p19441614179">Table storage pattern: <strong id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_b132951954145115">connector.table-name</strong> and <strong id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_b13493155719514">connector.key-column</strong> are used as Redis keys. For the Redis hash type, each key corresponds to a hashmap. A hash key is a field name of the source table, and a hash value is a field value of the source table.</p>
</div></div>
</td>
</tr>
<tr id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_dli_08_0238_row19540101012412"><td class="cellrowborder" valign="top" width="22.12%" headers="mcps1.3.4.2.2.4.1.1 "><p id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_en-us_topic_0000001080679435_p19573103119475">connector.use-internal-schema</p>
</td>
<td class="cellrowborder" valign="top" width="12.7%" headers="mcps1.3.4.2.2.4.1.2 "><p id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_en-us_topic_0000001080679435_p157316317471">No</p>
</td>
<td class="cellrowborder" valign="top" width="65.18%" headers="mcps1.3.4.2.2.4.1.3 "><p id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_en-us_topic_0000001080679435_p7573123118477">Whether to use the existing schema in the Redis. This parameter is optional in the Redis Hashmap storage pattern. The default value is <strong id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_b7267171032119">false</strong>.</p>
</td>
</tr>
<tr id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_dli_08_0238_row1467311517246"><td class="cellrowborder" valign="top" width="22.12%" headers="mcps1.3.4.2.2.4.1.1 "><p id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_en-us_topic_0000001080679435_p557333174713">connector.key-column</p>
</td>
<td class="cellrowborder" valign="top" width="12.7%" headers="mcps1.3.4.2.2.4.1.2 "><p id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_en-us_topic_0000001080679435_p75732315478">No</p>
</td>
<td class="cellrowborder" valign="top" width="65.18%" headers="mcps1.3.4.2.2.4.1.3 "><p id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_en-us_topic_0000001080679435_p105739318470">This parameter is optional in table storage pattern. The value is used as the value of ext-key in the Redis. If this parameter is not set, the value of ext-key is the generated UUID.</p>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="section" id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_dli_08_0238_section1884612595314"><h4 class="sectiontitle">Example</h4><p id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_dli_08_0238_en-us_topic_0113887276_en-us_topic_0111499973_p31874518526">Reads data from Redis.</p>
<pre class="screen" id="dli_08_0305__en-us_topic_0000001165951917_en-us_topic_0000001081579102_screen125712111575">create table redisSource(
car_id STRING,
car_owner STRING,
car_brand STRING,
car_speed INT
) with (
'connector.type' = 'redis',
'connector.host' = 'xx.xx.xx.xx',
'connector.port' = '6379',
'connector.password' = 'xx',
'connector.table-name' = 'car_info'
);</pre>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="dli_08_0300.html">Creating a Source Table</a></div>
</div>
</div>