11
2- ## 1.格式:
2+ ## 1.格式
33```
44 CREATE TABLE tableName(
55 colName cloType,
1515 redisType = '1',
1616 cache ='LRU',
1717 cacheSize ='10000',
18- cacheTTLMs ='60000'
18+ cacheTTLMs ='60000',
19+ parallelism ='1',
20+ partitionedJoin='false'
1921 );
2022```
2123## 2.支持版本
3436
3537## 4.参数
3638
37- 参数详细说明请看[ 参数详细说明] ( )
39+ 参数详细说明请看[ 参数详细说明] ( ./sideParams.md )
3840
3941| 参数名称| 含义| 是否必填| 默认值|
4042| ----| ---| ---| ----|
4850| cache | 维表缓存策略(NONE/LRU/ALL)| 否| NONE|
4951| partitionedJoin | 是否在維表join之前先根据 設定的key 做一次keyby操作(可以減少维表的数据缓存量)| 否| false|
5052--------------
51- > 缓存策略
52- * NONE: 不做内存缓存
53- * LRU:
54- * cacheSize: 缓存的条目数量
55- * cacheTTLMs:缓存的过期时间(ms)
56- * ALL: 缓存全量表数据
5753
5854## 5.样例
55+ ### LRU维表示例
5956```
6057CREATE TABLE MyRedis(
6158 id varchar,
@@ -70,10 +67,92 @@ CREATE TABLE MyRedis(
7067 redisType = '1',
7168 tableName = 'sideTable',
7269 cache = 'LRU',
73- cacheTTLMs='10000'
70+ cacheSize ='10000',
71+ cacheTTLMs ='60000',
72+ parallelism ='1',
73+ partitionedJoin='false'
74+ );
75+ ```
76+ ### ALL维表示例
77+ ```
78+ CREATE TABLE MyRedis(
79+ id varchar,
80+ message varchar,
81+ PRIMARY KEY(id),
82+ PERIOD FOR SYSTEM_TIME
83+ )WITH(
84+ type='redis',
85+ url='172.16.10.79:6379',
86+ password='abc123',
87+ database='0',
88+ redisType = '1',
89+ tableName = 'sideTable',
90+ cache = 'ALL',
91+ cacheTTLMs ='60000',
92+ parallelism ='1',
93+ partitionedJoin='false'
94+ );
95+ ```
96+ ### redis异步维表关联完整案例
97+ ```
98+ CREATE TABLE MyTable(
99+ id varchar,
100+ name varchar,
101+ address varchar
102+ )WITH(
103+ type = 'kafka10',
104+ bootstrapServers = '172.16.101.224:9092',
105+ zookeeperQuorm = '172.16.100.188:2181/kafka',
106+ offsetReset = 'latest',
107+ topic = 'tiezhu_test_in2',
108+ groupId = 'flink_sql',
109+ timezone = 'Asia/Shanghai',
110+ topicIsPattern = 'false',
111+ parallelism = '1'
74112);
75113
114+ CREATE TABLE MyRedis(
115+ id varchar,
116+ message varchar,
117+ PRIMARY KEY(id),
118+ PERIOD FOR SYSTEM_TIME
119+ )WITH(
120+ type='redis',
121+ url='172.16.10.79:6379',
122+ password='abc123',
123+ database='0',
124+ redisType = '1',
125+ tableName = 'sideTable',
126+ cache = 'LRU',
127+ cacheSize ='10000',
128+ cacheTTLMs ='60000',
129+ parallelism ='1',
130+ partitionedJoin='false'
131+ );
132+
133+ CREATE TABLE MyResult(
134+ id varchar,
135+ name varchar,
136+ address varchar,
137+ message varchar
138+ )WITH(
139+ type = 'console'
140+ );
141+
142+ insert into MyResult
143+ select
144+ t1.id AS id,
145+ t1.name AS name,
146+ t1.address AS address,
147+ t2.message AS message
148+ from
149+ (
150+ select id, name, address
151+ from MyTable
152+ ) t1 join MyRedis t2
153+ on t1.id = t2.id;
76154```
155+
77156## 6.redis的存储命名规则
78157
79158redis使用散列类型 hash 数据结构,key=tableName_primaryKey1_primaryKey2,value={column1=value1, column2=value2}
0 commit comments