This is an automated email from the ASF dual-hosted git repository.
dockerzhang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/inlong-website.git
The following commit(s) were added to refs/heads/master by this push:
new 707a9e05f2 [INLONG-864][Sort] Add redis information (#867)
707a9e05f2 is described below
commit 707a9e05f20cea4b935de5dc3adbb5e43626b882
Author: EpicMo <[email protected]>
AuthorDate: Wed Oct 11 19:14:12 2023 +0800
[INLONG-864][Sort] Add redis information (#867)
---
docs/data_node/load_node/redis.md | 221 +++++++++++++++++++++
.../current/data_node/load_node/redis.md | 220 ++++++++++++++++++++
2 files changed, 441 insertions(+)
diff --git a/docs/data_node/load_node/redis.md
b/docs/data_node/load_node/redis.md
new file mode 100644
index 0000000000..39727aa945
--- /dev/null
+++ b/docs/data_node/load_node/redis.md
@@ -0,0 +1,221 @@
+---
+title: Redis
+sidebar_position: 19
+---
+
+import {siteVariables} from '../../version';
+
+## Summary
+
+`Redis Load` Node supports writing data to redis.
+
+### Data Type
+
+See detail: [Redis Data Type](https://redis.io/topics/data-types-intro)
+
+#### Plain
+
+| c1 | c2 | c3 | c4 | c5 | c6 | c7 |
+|--------|-----|-----|-----|-----|-----|-----|
+| rowKey | | | | | | |
+
+Redis strings commands are used for managing string values in Redis
+
+The first element is Redis row key,must be string type, and the remaining
fields(`c2`~`c6`) will be serialized into one value and put into Redis.
+
+#### Hash
+
+* A Redis hash is a data type that represents a mapping between a string field
and a string
+ value. There are two members in hash DataType:
+- Redis Hash
+- Redis Hash value
+
+#### Set
+
+Redis SET are simply lists of strings, sorted by insertion order. You can add
elements in Redis SET in the head or the tail of the list.
+
+#### BitMap
+
+BitMaps are not an actual data type, but a set of bit-oriented operations
defined on the String type.Since strings are binary safe blobs and their
maximum length is 512 MB, they are suitable to set up to 2^32 different bits.
+
+### SchemaMappingMode
+
+#### Dynamic
+
+The DYNAMIC mode witch mapping a java.util.Map to RedisDataType. There are two
members in DYNAMIC mode:
+- Redis key
+- java.util.Map object, witch will be iterated, the entry key is redis key,
and the entry value is redis value.
+
+#### Static Prefix Match
+
+The are at least two fields, the first member is redis key, and each field
from the second field represents a redis value.
+
+```shell
+key, field, value1, value2, value3, [value]...
+```
+
+#### Static KV Pair
+
+There are two fields, the first field is key, and the other fields are pairs
of field and value.
+
+```shell
+ key, field1, value1,field2,value2,field3,value3,[field,value]...
+```
+
+### SQL Demo
+
+#### Plain
+
+> Plain only support STATIC_PREFIX_MATCH schema mapping mode
+
+```sql
+CREATE TABLE sink (
+ key STRING,
+ aaa STRING,
+ bbb DOUBLE,
+ ccc BIGINT,
+ PRIMARY KEY (`key`) NOT ENFORCED
+) WITH (
+ 'connector' = 'redis-inlong',
+ 'sink.batch-size' = '1',
+ 'format' = 'csv',
+ 'data-type' = 'PLAIN',
+ 'redis-mode' = 'standalone',
+ 'host' = 'localhost',
+ 'port' = '56615',
+ 'maxIdle' = '8',
+ 'minIdle' = '1',
+ 'maxTotal' = '2',
+ 'timeout' = '2000'
+);
+```
+
+#### Hash with Prefix Match
+
+| c1 | c2 | c3 | c4 | c5 | c6 | c7 |
+|--------|---------------|-----|-----|-----|-----|-----|
+| rowKey | field: String | | | | | |
+
+The first element is Redis row key, must be string type.
+The second element is Redis field name in Hash DataType.
+The remaining fields(`c2`~`c7`) will be serialized into one value and put into
redis
+
+```sql
+CREATE TABLE sink (
+ key STRING,
+ field_name STRING,
+ value_1 DOUBLE,
+ value_2 BIGINT,
+ PRIMARY KEY (`key`) NOT ENFORCED
+) WITH (
+ 'connector' = 'redis-inlong',
+ 'sink.batch-size' = '1',
+ 'format' = 'csv',
+ 'data-type' = 'HASH',
+ 'redis-mode' = 'standalone',
+ 'host' = 'localhost',
+ 'port' = '56869',
+ 'maxIdle' = '8',
+ 'minIdle' = '1',
+ 'maxTotal' = '2',
+ 'timeout' = '2000'
+);
+```
+
+#### Hash with Static KV Pair
+
+| c1 | c2 | c3 | c4 | c5
| c6 | c7 |
+|--------|----------------|----------------|-----------------|----------------|-----------------|----------------|
+| rowKey | field1: String | value 1:String | field 2: String | value 2:String
| field 3: String | value 3:String |
+
+The first element is Redis row key, must be string type.
+The odd elements(`c2` / `c4` / `c6`) are Redis field names in Hash DataType,
must be String type.
+The even elements(`c3` / `c5` / `c7`) are Redis field values in Hash DataType,
must be String type.
+
+```sql
+CREATE TABLE sink (
+ key STRING,
+ field1 STRING,
+ value1 STRING,
+ field2 STRING,
+ value2 STRING,
+ PRIMARY KEY (`key`) NOT ENFORCED
+) WITH (
+ 'connector' = 'redis-inlong',
+ 'sink.batch-size' = '1',
+ 'format' = 'csv',
+ 'data-type' = 'HASH',
+ 'schema-mapping-mode' = 'STATIC_KV_PAIR',
+ 'redis-mode' = 'standalone',
+ 'host' = 'localhost',
+ 'port' = '6379',
+ 'maxIdle' = '8',
+ 'minIdle' = '1',
+ 'maxTotal' = '2',
+ 'timeout' = '2000'
+);
+```
+
+#### Hash with dynamic
+
+| c1 | c2 |
+|--------|---------------|
+| rowKey | fieldValueMap |
+
+The first element is Redis row key, must be string type.
+The second element is must be `Map<String,String>` type: key is fieldName,
value is fieldValue.
+
+```sql
+CREATE TABLE sink (
+ key STRING,
+ fieldValueMap MAP<STRING,STRING>,
+ PRIMARY KEY (`key`) NOT ENFORCED
+) WITH (
+ 'connector' = 'redis-inlong',
+ 'sink.batch-size' = '1',
+ 'format' = 'csv',
+ 'data-type' = 'HASH',
+ 'schema-mapping-mode' = 'DYNAMIC',
+ 'redis-mode' = 'standalone',
+ 'host' = 'localhost',
+ 'port' = '6379',
+ 'maxIdle' = '8',
+ 'minIdle' = '1',
+ 'maxTotal' = '2',
+ 'timeout' = '2000'
+)"
+```
+
+#### BitMap with static KV pair
+
+| c1 | c2 | c3 | c4 | c5 |
c6 | c7 |
+|--------|--------------|-----------------|---------------|-----------------|---------------|-----------------|
+| rowKey | field1: Long | value 1:Boolean | field 2: Long | value 2:Boolean |
field 3: Long | value 3:Boolean |
+
+The first element is Redis row key, must be string type.
+The odd elements(`c2` /`c4` /`c6` ) are Redis offsets in Bitmap DataType, must
be Long type.
+The even elements(`c3` / `c5` / `c7`) are Redis values in Bitmap DataType,
must be Boolean type.
+
+```sql
+CREATE TABLE sink (
+ key STRING,
+ offset_1 BIGINT,
+ value_1 BOOLEAN,
+ offset_2 BIGINT,
+ value_2 BOOLEAN,
+ PRIMARY KEY (`key`) NOT ENFORCED
+) WITH (
+ 'connector' = 'redis-inlong',
+ 'sink.batch-size' = '1',
+ 'format' = 'csv',
+ 'data-type' = 'BITMAP',
+ 'schema-mapping-mode' = 'STATIC_KV_PAIR',
+ 'redis-mode' = 'standalone',
+ 'host' = 'localhost',
+ 'port' = '6379',
+ 'maxIdle' = '8',
+ 'minIdle' = '1',
+ 'maxTotal' = '2',
+ 'timeout' = '2000'
+)
+```
\ No newline at end of file
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/data_node/load_node/redis.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/data_node/load_node/redis.md
new file mode 100644
index 0000000000..a0c90e5b27
--- /dev/null
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/data_node/load_node/redis.md
@@ -0,0 +1,220 @@
+---
+title: Redis
+sidebar_position: 19
+---
+
+import {siteVariables} from '../../version';
+
+## 概况
+
+`Redis Load` 节点支持将数据写入 Redis 。
+
+### Data Type
+
+详细见:[Redis数据类型](https://redis.io/topics/data-types-intro)
+
+#### Plain
+
+| c1 | c2 | c3 | c4 | c5 | c6 | c7 |
+|--------|-----|-----|-----|-----|-----|-----|
+| rowKey | | | | | | |
+
+Redis 字符串命令用于管理 Redis 中的字符串值。
+
+第一个元素是 Redis 行键,必须是字符串类型,其余字段 ('c2' ~ 'c6') 将被序列化为一个值并放入 Redis 中。
+
+#### Hash
+
+Redis Hash 是一种数据类型,表示字符串字段和字符串之间的映射。其有两个成员:
+- Redis 哈希字段
+- Redis 哈希值
+
+#### Set
+
+Redis SET 是简单的字符串列表,按插入顺序排序。你可以在 Redis Set 的头部或尾部添加元素。
+
+#### BitMap
+
+BITMAP 不是一种实际的数据类型,而是在 String 对象上定义的一组面向 Bit 的类型。由于字符串是 binary safe
blobs,其最大长度为512 MB, 它们适合设置多达 2^32 个不同的 Bit。
+
+### SchemaMappingMode
+
+#### Dynamic
+
+Dynamic 模式映射 java.util.map 到 RedisDataType,该模式下有两个成员:
+- Redis key
+- java.util.Map, 它将被迭代,其中键为 Redis key,值为 Redis value
+
+#### Static Prefix Match
+
+其中至少有两个字段,第一个成员是 Redis key,第二个字段中的每个字段代表一个 Redis value
+
+```shell
+key, field, value1, value2, value3, [value]...
+```
+
+#### Static KV Pair
+
+其有两个字段,第一个字段是 key ,和其他字段是键值对
+
+```shell
+ key, field1, value1,field2,value2,field3,value3,[field,value]...
+```
+
+### SQL demo
+
+#### Plain
+
+> Plain 只支持 Static Prefix Match 模式
+
+```sql
+CREATE TABLE sink (
+ key STRING,
+ aaa STRING,
+ bbb DOUBLE,
+ ccc BIGINT,
+ PRIMARY KEY (`key`) NOT ENFORCED
+) WITH (
+ 'connector' = 'redis-inlong',
+ 'sink.batch-size' = '1',
+ 'format' = 'csv',
+ 'data-type' = 'PLAIN',
+ 'redis-mode' = 'standalone',
+ 'host' = 'localhost',
+ 'port' = '56615',
+ 'maxIdle' = '8',
+ 'minIdle' = '1',
+ 'maxTotal' = '2',
+ 'timeout' = '2000'
+);
+```
+
+#### Hash with Prefix Match
+
+| c1 | c2 | c3 | c4 | c5 | c6 | c7 |
+|--------|---------------|-----|-----|-----|-----|-----|
+| rowKey | field: String | | | | | |
+
+第一个元素是 Redis Key,必须是字符串类型
+第二个元素是哈希数据类型中的 Redis 字段名
+其余字段 (' c2 ' ~ ' c7 ') 将被序列化为一个值并放入 Redis 中
+
+```sql
+CREATE TABLE sink (
+ key STRING,
+ field_name STRING,
+ value_1 DOUBLE,
+ value_2 BIGINT,
+ PRIMARY KEY (`key`) NOT ENFORCED
+) WITH (
+ 'connector' = 'redis-inlong',
+ 'sink.batch-size' = '1',
+ 'format' = 'csv',
+ 'data-type' = 'HASH',
+ 'redis-mode' = 'standalone',
+ 'host' = 'localhost',
+ 'port' = '56869',
+ 'maxIdle' = '8',
+ 'minIdle' = '1',
+ 'maxTotal' = '2',
+ 'timeout' = '2000'
+);
+```
+
+#### Hash with Static KV Pair
+
+| c1 | c2 | c3 | c4 | c5
| c6 | c7 |
+|--------|----------------|----------------|-----------------|----------------|-----------------|----------------|
+| rowKey | field1: String | value 1:String | field 2: String | value 2:String
| field 3: String | value 3:String |
+
+第一个元素是 Redis 行键,必须是字符串类型。
+奇数元素 (' c2 ' / ' c4 ' / ' c6 ') 是哈希数据类型中的 Redis 字段名,必须是字符串类型。
+偶数元素 (' c3 ' / ' c5 ' / ' c7 ') 是哈希数据类型中的 Redis 字段值,必须是字符串类型。
+
+```sql
+CREATE TABLE sink (
+ key STRING,
+ field1 STRING,
+ value1 STRING,
+ field2 STRING,
+ value2 STRING,
+ PRIMARY KEY (`key`) NOT ENFORCED
+) WITH (
+ 'connector' = 'redis-inlong',
+ 'sink.batch-size' = '1',
+ 'format' = 'csv',
+ 'data-type' = 'HASH',
+ 'schema-mapping-mode' = 'STATIC_KV_PAIR',
+ 'redis-mode' = 'standalone',
+ 'host' = 'localhost',
+ 'port' = '6379',
+ 'maxIdle' = '8',
+ 'minIdle' = '1',
+ 'maxTotal' = '2',
+ 'timeout' = '2000'
+);
+```
+
+#### Hash with Dynamic
+
+| c1 | c2 |
+|--------|---------------|
+| rowKey | fieldValueMap |
+
+第一个元素是 Redis 行键,必须是字符串类型。
+第二个元素必须是 Map<String,String>, 其中键是 fieldName ,值是 fieldValue。
+
+```sql
+CREATE TABLE sink (
+ key STRING,
+ fieldValueMap MAP<STRING,STRING>,
+ PRIMARY KEY (`key`) NOT ENFORCED
+) WITH (
+ 'connector' = 'redis-inlong',
+ 'sink.batch-size' = '1',
+ 'format' = 'csv',
+ 'data-type' = 'HASH',
+ 'schema-mapping-mode' = 'DYNAMIC',
+ 'redis-mode' = 'standalone',
+ 'host' = 'localhost',
+ 'port' = '6379',
+ 'maxIdle' = '8',
+ 'minIdle' = '1',
+ 'maxTotal' = '2',
+ 'timeout' = '2000'
+)"
+```
+
+#### BitMap with Static KV Pair
+
+| c1 | c2 | c3 | c4 | c5 |
c6 | c7 |
+|--------|--------------|-----------------|---------------|-----------------|---------------|-----------------|
+| rowKey | field1: Long | value 1:Boolean | field 2: Long | value 2:Boolean |
field 3: Long | value 3:Boolean |
+
+第一个元素是 Redis 行键,必须是字符串类型。
+奇数元素 (' c2 ' / ' c4 ' / ' c6 ') 是位图数据类型中的 Redis 偏移量,必须是 Long 类型。
+偶数元素 (' c3 ' / ' c5 ' / ' c7 ') 是位图数据类型中的 Redis 值,必须是布尔类型。
+
+```sql
+CREATE TABLE sink (
+ key STRING,
+ offset_1 BIGINT,
+ value_1 BOOLEAN,
+ offset_2 BIGINT,
+ value_2 BOOLEAN,
+ PRIMARY KEY (`key`) NOT ENFORCED
+) WITH (
+ 'connector' = 'redis-inlong',
+ 'sink.batch-size' = '1',
+ 'format' = 'csv',
+ 'data-type' = 'BITMAP',
+ 'schema-mapping-mode' = 'STATIC_KV_PAIR',
+ 'redis-mode' = 'standalone',
+ 'host' = 'localhost',
+ 'port' = '6379',
+ 'maxIdle' = '8',
+ 'minIdle' = '1',
+ 'maxTotal' = '2',
+ 'timeout' = '2000'
+)
+```
\ No newline at end of file