Google cloud dataflow Apache Beam-CassandraIO写入异步-2.6.0错误

Google cloud dataflow Apache Beam-CassandraIO写入异步-2.6.0错误,google-cloud-dataflow,apache-beam,Google Cloud Dataflow,Apache Beam,我使用ApacheBeam的以下库来运行dataflow作业,从BigQuery读取数据并存储/写入Cassandra beam SDK java io cassandra-2.6.0 beam SDK java io jdbc-2.6.0 beam SDK java io谷歌云平台-2.6.0 beam SDK java核心-2.6.0 google云数据流java sdk all-2.5.0 谷歌api客户端-1.25.0 由于beam SDK java io cassandra>2.3版本

我使用ApacheBeam的以下库来运行dataflow作业,从BigQuery读取数据并存储/写入Cassandra

  • beam SDK java io cassandra-2.6.0
  • beam SDK java io jdbc-2.6.0
  • beam SDK java io谷歌云平台-2.6.0
  • beam SDK java核心-2.6.0
  • google云数据流java sdk all-2.5.0
  • 谷歌api客户端-1.25.0
  • 由于beam SDK 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的未来可上市问题。

    我有一个解决办法。使用beam SDK java io cassandra-2.4.0。 我正在修复这个,包括一些其他的东西。。。将在此处更新


    更新:最有可能发现问题。把一个补丁推到了。然而,它可能需要一段时间,直到这可以成为一个公关和发布的家伙在梁。。。如果有人想使用我构建的版本,你可以看看我是如何面对同样的异常的。你找到解决办法了吗?@MaximKolchin请看下面我的答案。非常感谢。apache Beam在2.11.0中解决了这个问题!谢谢你,@srfrnk!