google-cloud-dataflow - Apache Beam - CassandraIO 写入异步 - 2.6.0 错误
问题描述
我正在使用 apache Beam 的以下库来运行数据流作业以从 BigQuery 读取数据并将数据存储/写入 Cassandra。
- 梁-sdks-java-io-cassandra - 2.6.0
- 梁-sdks-java-io-jdbc - 2.6.0
- 梁-sdks-java-io-google-cloud-platform - 2.6.0
- 梁-sdks-java-core - 2.6.0
- google-cloud-dataflow-java-sdk-all-2.5.0
- 谷歌 api 客户端 -1.25.0
由于 beam-sdks-java-io-cassandra > 2.3 版本支持 saveAsync,我已将所有库升级到 2.6.0。
库更新后,在将数据插入/保存到 Cassandra 时出现以下错误。
java.lang.NoSuchMethodError: com.datastax.driver.mapping.Mapper.saveAsync(Ljava/lang/Object;)Lorg/apache/beam/repackaged/beam_sdks_java_io_cassandra/com/google/common/util/concurrent/ListenableFuture;
at org.apache.beam.sdk.io.cassandra.CassandraServiceImpl$WriterImpl.write(CassandraServiceImpl.java:435)
at org.apache.beam.sdk.io.cassandra.CassandraIO$WriteFn.processElement(CassandraIO.java:493)
看起来这是来自 Gauva 和 Cassandra Driver 的 ListenableFuture 问题。
解决方案
推荐阅读
- python - 如何使用熊猫删除一行中多次出现的行
- function - 如何在ue4中停止终端
- authentication - Fetch() 中的 Nuxt 和 $auth
- css - 在 RMarkdown xaringan /reveal.js 幻灯片中打开和关闭幻灯片编号显示
- php - 与 MongoDB 的 PHP SSL 连接
- matplotlib - 如何根据坐标放置matplotlib图例
- google-apps-script - 试图减少将工作表从多个电子表格复制到合并的主版本的 GAS 代码的运行时间
- javascript - React JS交通灯模拟器中的模式错误
- php - $_SESSION 在不应该的时候回显?
- java - 我应该在前端还是后端验证 reCAPTCHA?