当前位置:网站首页>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
边栏推荐
- The navigation bar changes colors according to the route
- Where is NPDP product manager certification sacred?
- Jhok-zbl1 leakage relay
- 漏电继电器JD1-100
- Leakage relay jd1-100
- 【oracle】简单的日期时间的格式化与排序问题
- How can project managers counter attack with NPDP certificates? Look here
- The founder has a debt of 1billion. Let's start the class. Is it about to "end the class"?
- Sorry, I've learned a lesson
- Annotation初体验
猜你喜欢

DJ-ZBS2漏电继电器

Safe landing practice of software supply chain under salesforce containerized ISV scenario

消息队列:如何确保消息不会丢失

Initial experience of annotation

《4》 Form

【js组件】自定义select

Jhok-zbl1 leakage relay

Unity让摄像机一直跟随在玩家后上方

论文阅读【Semantic Tag Augmented XlanV Model for Video Captioning】

Use Zhiyun reader to translate statistical genetics books
随机推荐
A cool "ghost" console tool
Is the human body sensor easy to use? How to use it? Which do you buy between aqara green rice and Xiaomi
Wonderful express | Tencent cloud database June issue
Writing process of the first paper
Where is NPDP product manager certification sacred?
论文阅读【MM21 Pre-training for Video Understanding Challenge:Video Captioning with Pretraining Techniqu】
Getting started with DES encryption
AIDL 与Service
分布式事务介绍
How can professional people find background music materials when doing we media video clips?
【js组件】date日期显示。
漏电继电器JELR-250FG
Zero sequence aperture of leakage relay jolx-gs62 Φ one hundred
[optimal web page width and its implementation] [recommended collection "
1. AVL tree: left-right rotation -bite
K6EL-100漏电继电器
[JS component] date display.
论文阅读【Open-book Video Captioning with Retrieve-Copy-Generate Network】
Tablayout modification of customized tab title does not take effect
Jhok-zbl1 leakage relay