从Apache Beam API使用RedisIO时获得"没有MULTI的ERR EXEC"。



我正在从 BigQuery 读取数据,并使用来自 Apache Beam API 的 RedisIO 写入 Redis。下面是代码片段。

pipeline.apply("Read Data From BigQuery",
BigQueryIO.readTableRows().withoutValidation()
.fromQuery(""))
.apply("Convert Table rows into Redis Entity",
ParDo.of(new RedisEntity()))
.apply("Write to Redis",
RedisIO.write().withEndpoint("localhost", 6379));

尝试执行代码时,我得到了 2,000 条用 redis 编写的记录,然后出现以下错误。

redis.clients.jedis.exceptions.JedisDataException: EXEC without MULTI at redis.clients.jedis.Pipeline.exec(Pipeline.java:139( at org.apache.beam.sdk.io.redis.RedisIO$Write$WriteFn.processElement(RedisIO.java:419(

如果我错过了什么,或者是否有更好的方法,请提供建议。

似乎是 RedisIO 中的一个错误,我已经向 Beam 提交了一个问题,并做了一个拉取请求来修复它。看看我猜对了。issues.apache.org/jira/browse/BEAM-5714

相关内容

最新更新