我正在从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:不带MULTI的EXEC 在redis.clients.jedis.Pipeline.exec(Pipeline.java:139) 在org.apache.beam.sdk.io.redis.RedisIO $ Write $ WriteFn.processElement(RedisIO.java:419)
请告知我是否缺少某些东西,或者是否有更好的方法。
答案 0 :(得分:2)
好像是RedisIO中的错误,我已向Beam提交了一个问题,并提出了拉取请求以对其进行修复。看看我是否猜对了。 issue.apache.org/jira/browse/BEAM-5714