Flink SQL多字段的维表关联查询-flink-connector-redis

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

Flink SQL经常需要关联维表,使用redis作为维表存储介质能获得较快的响应速度,大多情况维表有多个字段,写入与维表查询时只能使用concat与table function函数处理,非常麻烦。有没有更简单的方法呢?

本示例基于flink-connector-redis展示如何利用’value.data.structure’='row’写多字段并关联查询,无需定义table function函数。

写入多字段的维表测试数据

-- 创建表
create table sink_redis(uid VARCHAR,score double,score2 double )
with ( 'connector' = 'redis',
			'host' = '10.11.69.176',
			'port' = '6379',
			'redis-mode' = 'single',
			'password' = '****',
			'command' = 'SET',
			'value.data.structure' = 'row');  -- 'value.data.structure'='row':整行内容保存至value并以'\01'分割
-- 写入测试数据,score、score2为需要被关联查询出的两个维度
insert into sink_redis select * from (values ('1', 10.3, 10.1));

写入数据后,在redis中value保存的value为: “1\x0110.3\x0110.1”,至此关联数据准备就绪。

创建源表与关联表

-- create join table --
create table join_table with ('command'='get', 'value.data.structure'='row') like sink_redis

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值