当前位置:首页 >百科 >Flink1.12 SQL向Redis实时写数据

Flink1.12 SQL向Redis实时写数据

2024-06-30 15:49:26 [百科] 来源:避面尹邢网

Flink1.12 SQL向Redis实时写数据

作者:邹学 开发 项目管理 Redis 向R写数基于bahir-flink二次开发,使它支持SQL直接定义写入redis,向R写数用户通过DDL指定自己需要保存的字段。

[[410005]]

本文转载自微信公众号「肌肉码农」,向R写数作者邹学。向R写数转载本文请联系肌肉码农公众号。向R写数

插件名称:flink-connector-redis

插件地址:https://github.com/jeff-zou/flink-connector-redis.git

项目介绍

基于bahir-flink二次开发,向R写数使它支持SQL直接定义写入redis,向R写数用户通过DDL指定自己需要保存的字段。

Flink1.12 SQL向Redis实时写数据

使用方法:

命令行执行 mvn package -DskipTests=true打包后,向R写数将生成的向R写数包flink-connector-redis_2.12-1.11.1.jar引入flink lib中即可,无需其它设置。向R写数

Flink1.12 SQL向Redis实时写数据

重构介绍:

相对上一个版本简化了参数设置,向R写数思路更清晰,向R写数上一版本字段的向R写数值会根据主键等条件来自动生成,这要求使用者需要了解相关规则,向R写数有一定的向R写数学习成本并且容易埋坑,重构后字段的值由用户在DDL中显示地指定,如下:

Flink1.12 SQL向Redis实时写数据

  1. 'key-column'='username','value-column'='passport',' //直接指定字段名 

取消了必须有主键的限制,使用更简单,如果有多个字段组合成key或者value,需要用户在DML中使用concat_ws等方式组装,不再是插件在后台用不可见字符拼装。

使用示例:

  • 1.SQL方式

示例代码路径: src/test/java/org.apache.flink.streaming.connectors.redis.table.SQLInsertTest.java

set示例,相当于redis命令: set test test11

  1. StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); 
  2.         EnvironmentSettings environmentSettings = EnvironmentSettings.newInstance().useBlinkPlanner().inStreamingMode().build(); 
  3.         StreamTableEnvironment tEnv = StreamTableEnvironment.create(env, environmentSettings); 
  4.  
  5.         String ddl = "create table sink_redis(username VARCHAR, passport VARCHAR) with ( 'connector'='redis', " + 
  6.                 "'host'='10.11.80.147','port'='7001', 'redis-mode'='single','password'='

    (责任编辑:百科)

    推荐文章
    热点阅读