当前位置:网站首页>Flink SQL realizes reading and writing redis and dynamically generates hset key
Flink SQL realizes reading and writing redis and dynamically generates hset key
2022-07-07 05:34:00 【HD0do】
In the official offering flink-connect-redis It doesn't work Flink SQL Read and write in a different way redis. If you want to achieve Flink sql Read and write in a different way redis You need to implement the corresponding code yourself , Fortunately GitHub There is already a corresponding open source implementation , We only need to use the corresponding reference .
pom rely on :
<dependency>
<groupId>io.github.jeff-zou</groupId>
<artifactId>flink-connector-redis</artifactId>
<version>1.0.11</version>
</dependency>By importing jar, Can achieve Flink sql Reading and writing redis :
First create Flink CDC A watch of :
CREATE TABLE memberCDC(
`member_id` bigint,
mobile string,
`tenant_id` string ,
gender int ,
proctime as procTime(),
PRIMARY KEY(member_id) NOT ENFORCED
) WITH (
'connector' = 'mysql-cdc',
'hostname' = '10.50.20.181',
'port' = '330806',
'username' = 'reGaYTkly',
'password' = '40IGOJHFDlloBE6',
'database-name' = 'member_db',
'table-name' = 'm_member_tenant',
'scan.startup.mode'='latest-offset',
'debezium.skipped.operations'='d'
)Flink SQL write in redis( With Hset For example, data type ):
CREATE TABLE memberRedis (
`member_id` bigint,
mobile string,
`tenant_id` string,
gender int
) WITH (
'connector' = 'redis',
'host' = '10.180.80.89',
'port' = '300079',
'password' = 'big88dajjggta34',
'redis-mode' = 'single',
'command'='hset'
)
inserter into memberRedis
select
member_id,
mobile,
tenant_id,
gender
from memberCDChere member_id amount to Hset Of additionalKey mobile amount to key, And this can be done through SQL The dynamic splicing of statements is needed key Format . It is equivalent to supporting dynamic generation of what you need key.
Flink SQL Read redis( With Hset For example, data type ):
Read redis Data in , It is generally used as a dimension Association :
CREATE TABLE memberSourceRedis (
`member_id` bigint,
mobile string,
`tenant_id` string,
gender int
) WITH (
'connector' = 'redis',
'host' = '10.110.60.5',
'port' = '30479',
'password' = 'daffdag1234',
'redis-mode' = 'single',
'command'='hget',
'maxIdle'='2',
'minIdle'='1',
'lookup.cache.max-rows'='10',
'lookup.cache.ttl'='10',
'lookup.max-retries'='3'
)insert into memberRedis
select
t2.member_id,
t2.mobile,
t2.tenant_id,
t1.gender
from memberCDC t1
left join memberSourceRedis for system_time as of t1.proctime as t2 on
t1.member_id = t2.member_id and t1.mobile = t2.mobileSimilar reading , here member_id amount to Hset Of additionalKey mobile amount to key, Here you can go through SQL Statement dynamic splicing generation key, incoming key It's actually memberCDC The data value of the associated field in .
Connect redis parameter list :


summary :
Above Flink SQL Reading and writing redis about hset Data types support writing and reading values of a field , Multiple field writes will be filtered by default .
If you want to support writing and reading of multiple fields , The dependent code needs to be modified , When writing, multiple fields are encapsulated as JSONString write in Redis, When reading, the JSON Data is passed through catalog Map to values corresponding to multiple fields .
Subsequent articles will also introduce how to modify the source code , compile jar Package to support multiple fields Flink SQL Read and write redis. If you need it, you can also use the following link to realize the corresponding flink sql Reading and writing Redis Special business needs . Feel useful and welcome to pay attention Dida official account ~~
In this paper, the reference GitHub Open source projects for :https://github.com/jeff-zou/flink-connector-redis
边栏推荐
- App clear data source code tracking
- 论文阅读【Open-book Video Captioning with Retrieve-Copy-Generate Network】
- Make web content editable
- np. random. Shuffle and np Use swapaxis or transfer with caution
- [Oracle] simple date and time formatting and sorting problem
- 漏电继电器JELR-250FG
- Design, configuration and points for attention of network unicast (one server, multiple clients) simulation using OPNET
- Tablayout modification of customized tab title does not take effect
- JD commodity details page API interface, JD commodity sales API interface, JD commodity list API interface, JD app details API interface, JD details API interface, JD SKU information interface
- 利用OPNET进行网络仿真时网络层协议(以QoS为例)的使用、配置及注意点
猜你喜欢

Leakage relay jelr-250fg

Jhok-zbg2 leakage relay

漏电继电器LLJ-100FS

Leakage relay llj-100fs

JVM (19) -- bytecode and class loading (4) -- talk about class loader again

一条 update 语句的生命经历

DOM-节点对象+时间节点 综合案例
![[question] Compilation Principle](/img/ce/71f8409ba2cebd497bed0210290895.png)
[question] Compilation Principle

pytest测试框架——数据驱动

Zero sequence aperture of leakage relay jolx-gs62 Φ one hundred
随机推荐
JHOK-ZBL1漏电继电器
JD commodity details page API interface, JD commodity sales API interface, JD commodity list API interface, JD app details API interface, JD details API interface, JD SKU information interface
TabLayout修改自定义的Tab标题不生效问题
Leakage relay jelr-250fg
漏电继电器LLJ-100FS
张平安:加快云上数字创新,共建产业智慧生态
Design, configuration and points for attention of network unicast (one server, multiple clients) simulation using OPNET
JHOK-ZBG2漏电继电器
[论文阅读] A Multi-branch Hybrid Transformer Network for Corneal Endothelial Cell Segmentation
How can project managers counter attack with NPDP certificates? Look here
ThinkPHP Association preload with
利用OPNET进行网络任意源组播(ASM)仿真的设计、配置及注意点
Timer create timer
[JS component] custom select
淘寶商品詳情頁API接口、淘寶商品列錶API接口,淘寶商品銷量API接口,淘寶APP詳情API接口,淘寶詳情API接口
Make web content editable
Use Zhiyun reader to translate statistical genetics books
基于 hugging face 预训练模型的实体识别智能标注方案:生成doccano要求json格式
Getting started with DES encryption
Dbsync adds support for mongodb and ES