11: SQL client 实现 redis 维表join
用SQL client 能搞通redis 维表join,我在网上还没找到,我就试验,终于在sql client里运行成功了。
我用的 “大数据羊说”写的redis connector(https://github.com/liufeiSAP/flink-study.git),flink用的flink-1.13.2_scala_2.11。
调试了几天才通的,就是各种缺jar包。
1: Redis connector的源码:
https://github.com/liufeiSAP/flink-study.git
2: Flink 版本: \flink-1.13.2_scala_2.11
3: 需要的jar包:
3: 以下的DDL,SQL都是在SQL client里执行。
创建一个源表,从csv文件读取数据
1 2 3 4 5 6 7 8 9 10 | CREATE TABLE MyTable( MyField1 INT, MyField2 STRING, MyField3 INT, proctime AS PROCTIME() ) WITH ( 'connector' = 'filesystem' , 'path' = '/opt/flink/lib/test.csv' , 'format' = 'csv' ); |
csv文件内容
创建redis 维表:
1 2 3 4 5 6 7 8 9 10 11 12 | CREATE TABLE dimTable ( name STRING, name1 STRING ) WITH ( 'connector' = 'redis' , 'hostname' = '192.168.5.6' , 'port' = '6379' , 'format' = 'json' , 'lookup.cache.max-rows' = '500' , 'lookup.cache.ttl' = '3600' , 'lookup.max-retries' = '1' ); |
最后执行
1 2 3 4 | SELECT o.MyField1,o.MyField2, c.name, c.name1 FROM MyTable AS o LEFT JOIN dimTable FOR SYSTEM_TIME AS OF o.proctime AS c ON o.MyField2 = c.name; |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2018-01-20 @JsonProperty 注解
2018-01-20 bean validator - Hibernate validator
2018-01-20 java注解的基本知识
2018-01-20 JWT(JSON WEB TOKEN) / oauth2 / SSL
2018-01-20 Guice 学习