成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Flink1.12 SQL向Redis實時寫數據

開發 項目管理 Redis
基于bahir-flink二次開發,使它支持SQL直接定義寫入redis,用戶通過DDL指定自己需要保存的字段。

[[410005]]

本文轉載自微信公眾號「肌肉碼農」,作者鄒學。轉載本文請聯系肌肉碼農公眾號。

插件名稱:flink-connector-redis

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

項目介紹

基于bahir-flink二次開發,使它支持SQL直接定義寫入redis,用戶通過DDL指定自己需要保存的字段。

使用方法:

命令行執行 mvn package -DskipTests=true打包后,將生成的包flink-connector-redis_2.12-1.11.1.jar引入flink lib中即可,無需其它設置。

重構介紹:

相對上一個版本簡化了參數設置,思路更清晰,上一版本字段的值會根據主鍵等條件來自動生成,這要求使用者需要了解相關規則,有一定的學習成本并且容易埋坑,重構后字段的值由用戶在DDL中顯示地指定,如下:

  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'='******','key-column'='username','value-column'='passport','command'='set')" ; 
  7.  
  8.         tEnv.executeSql(ddl); 
  9.         String sql = " insert into sink_redis select * from (values ('test', 'test11'))"
  10.         TableResult tableResult = tEnv.executeSql(sql); 
  11.         tableResult.getJobClient().get() 
  12.                 .getJobExecutionResult() 
  13.                 .get(); 
  • 2.DataStream方式

示例代碼路徑:

src/test/java/org.apache.flink.streaming.connectors.redis.datastream.DataStreamInsertTest.java

hset示例,相當于redis命令:hset tom math 150

  1. Configuration configuration = new Configuration(); 
  2.         configuration.setString(RedisOptions.KEY_COLUMN, "name"); 
  3.         configuration.setString(RedisOptions.FIELD_COLUMN, "subject"); //對應hash的field、 sorted set的score 
  4.         configuration.setString(RedisOptions.VALUE_COLUMN, "score"); 
  5.         configuration.setString(REDIS_MODE, REDIS_CLUSTER); 
  6.         configuration.setString(REDIS_COMMAND, RedisCommand.HSET.name()); 
  7.  
  8.         RedisMapper redisMapper = RedisHandlerServices 
  9.                 .findRedisHandler(RedisMapperHandler.class, configuration.toMap()) 
  10.                 .createRedisMapper(configuration); 
  11.  
  12.         StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); 
  13.  
  14.         GenericRowData genericRowData = new GenericRowData(3); 
  15.         genericRowData.setField(0, "tom"); 
  16.         genericRowData.setField(1, "math"); 
  17.         genericRowData.setField(2, "150"); 
  18.         DataStream<GenericRowData> dataStream = env.fromElements(genericRowData); 
  19.  
  20.         TableSchema tableSchema =  new TableSchema.Builder() .field("name", DataTypes.STRING().notNull()).field("subject", DataTypes.STRING()).field("score", DataTypes.INT()).build(); 
  21.  
  22.         FlinkJedisConfigBase conf = getLocalRedisClusterConfig(); 
  23.         RedisSink redisSink = new RedisSink<>(conf, redisMapper, tableSchema); 
  24.  
  25.         dataStream.addSink(redisSink); 
  26.         env.execute("RedisSinkTest"); 

 

 

責任編輯:武曉燕 來源: 肌肉碼農
相關推薦

2021-06-30 09:20:08

數倉FlinkHive

2024-06-03 08:26:35

2021-07-19 09:47:37

阿里云Flink 1.12資源管理

2024-04-09 10:02:13

Spring數據Redis

2025-05-20 10:03:59

數據倉庫Flink SQLPaimon

2021-07-16 10:55:45

數倉一體Flink SQL

2021-06-04 07:24:14

Flink CDC數據

2024-06-06 08:58:08

大數據SQLAPI

2023-12-11 08:00:00

架構FlinkDruid

2022-07-20 23:15:11

Flink數據集CDC

2021-03-10 08:22:47

FlinktopN計算

2009-05-14 10:02:59

實時數據SQL Server商業智能

2024-06-05 09:16:54

開源工具Airflow

2019-12-19 14:38:08

Flink SQL數據流Join

2022-05-12 09:02:47

Flink SQL數據類型

2021-07-13 07:04:19

Flink數倉數據

2009-11-18 16:16:51

Oracle數據庫

2009-08-12 17:02:16

.NET向SQL Se

2009-01-06 11:31:34

SybaseSQL Server數據庫

2021-12-09 06:59:24

FlinkSQL 開發
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产一区二区av | 久久久tv| 国产99久久久国产精品 | 欧美一区二区成人 | 亚洲国产成人精品久久久国产成人一区 | 午夜精品网站 | 欧美在线亚洲 | 97国产爽爽爽久久久 | 91免费高清视频 | 精品欧美乱码久久久久久 | 亚洲精品大片 | 天天操天天干天天透 | 男女国产视频 | 欧美日韩不卡 | 午夜小视频在线播放 | 99热99| 欧美一a | 欧美精品在线免费观看 | 亚洲精品久久久久久久不卡四虎 | 欧美一级淫片免费视频黄 | 亚洲天堂av网 | 国产成人精品在线播放 | 国产一级电影在线 | 国产乱码精品一区二区三区中文 | 国产精品视频观看 | 午夜影视 | 欧美一级淫片007 | 日本黄色高清视频 | 免费在线看黄视频 | 日韩欧美一区二区三区免费观看 | 日韩精品一区在线观看 | 久久蜜桃资源一区二区老牛 | 成人深夜小视频 | 日日碰狠狠躁久久躁96avv | 午夜欧美a级理论片915影院 | 91一区二区三区在线观看 | 精品国产31久久久久久 | 99色播| 中文字幕亚洲精品 | 久久综合成人精品亚洲另类欧美 | 天天操夜夜操 |