kv均为String的数据导出到Redis (RedisStringSinkBatchOp)

Java 类名:com.alibaba.alink.operator.batch.sink.RedisStringSinkBatchOp

Python 类名:RedisStringSinkBatchOp

功能介绍

将一个批式数据,(单列String类型键值)按行写到Redis里。

注意事项

参数说明

名称 中文名称 描述 类型 是否必须? 取值范围 默认值
pluginVersion 插件版本号 插件版本号 String ✓
clusterMode Not available! Not available! Boolean false
databaseIndex Not available! Not available! Long
keyCol 单键列 单键列 String null
pipelineSize Not available! Not available! Integer 1
redisIPs Not available! Not available! String[]
redisPassword Not available! Not available! String
timeout Not available! Not available! Integer
valueCol 单值列 单值列 String null

代码示例

以下代码仅用于示意,可能需要修改部分代码或者配置环境后才能正常运行!

Python 代码

  1. redisIP = "*"
  2. redisPort = 0
  3. df = pd.DataFrame([
  4. ["football", "1.0"],
  5. ["football", "2.0"],
  6. ["football", "3.0"]])
  7. batchData = BatchOperator.fromDataframe(df, schemaStr='id string,val double')
  8. batchData.link(RedisStringSinkBatchOp()\
  9. .setRedisIPs(redisIP)\
  10. .setKeyCol(["id"])\
  11. .setValueCol(["val"])\
  12. .setPluginVersion("2.9.0"))
  13. BatchOperator.execute()

Java 代码

  1. package com.alibaba.alink.operator.batch.sink;
  2. import org.apache.flink.types.Row;
  3. import com.alibaba.alink.operator.batch.BatchOperator;
  4. import com.alibaba.alink.operator.batch.source.MemSourceBatchOp;
  5. import com.alibaba.alink.testutil.AlinkTestBase;
  6. import org.junit.Test;
  7. import java.util.Arrays;
  8. import java.util.List;
  9. public class RedisStringSinkBatchOpTest extends AlinkTestBase {
  10. @Test
  11. public void test() throws Exception {
  12. String redisIP = "127.0.0.1:6379";
  13. int redisPort = 0;
  14. List <Row> df = Arrays.asList(
  15. Row.of("football", "1.0"),
  16. Row.of("football", "2.0")
  17. );
  18. BatchOperator <?> data = new MemSourceBatchOp(df, "id string,val string");
  19. RedisStringSinkBatchOp sink = new RedisStringSinkBatchOp()
  20. .setRedisIPs(redisIP)
  21. .setKeyCol("id")
  22. .setValueCol("val")
  23. .setPluginVersion("2.9.0");
  24. data.link(sink);
  25. BatchOperator.execute();
  26. }
  27. }