Google cloud dataflow Apache Beam无法设置编码器(null):java

Google cloud dataflow Apache Beam无法设置编码器(null):java,google-cloud-dataflow,apache-beam,apache-beam-io,Google Cloud Dataflow,Apache Beam,Apache Beam Io,我是Apache Beam的新手,我正在尝试连接mysql数据库的google云实例。当我运行下面的代码段时,它抛出下面的异常 Logger logger = LoggerFactory.getLogger(GoogleSQLPipeline.class); PipelineOptions options = PipelineOptionsFactory.create(); Pipeline dataflowPipeline = Pipeline.create();

我是Apache Beam的新手,我正在尝试连接mysql数据库的google云实例。当我运行下面的代码段时,它抛出下面的异常

    Logger logger = LoggerFactory.getLogger(GoogleSQLPipeline.class);

    PipelineOptions options = PipelineOptionsFactory.create();

    Pipeline dataflowPipeline = Pipeline.create();

    dataflowPipeline.apply(JdbcIO.<KV<Integer, String>>read().withCoder(KvCoder.of(VarIntCoder.of(), StringUtf8Coder.of()))
            .withDataSourceConfiguration(JdbcIO.DataSourceConfiguration
                    .create("com.mysql.jdbc.Driver", "jdbc:mysql://<ip from google instance>:3306/foodmart")
                    .withUsername("root").withPassword("root"))
            .withQuery("select accouont_id,account_description  from account")
            .withRowMapper(new JdbcIO.RowMapper<KV<Integer, String>>() {
                @Override
                public KV<Integer, String> mapRow(ResultSet resultSet) throws Exception {
                    // TODO Auto-generated method stub
                    return KV.of(resultSet.getInt(1), resultSet.getString(2));
                }
            }));

    dataflowPipeline.run();
Logger-Logger=LoggerFactory.getLogger(GoogleSQLPipeline.class);
PipelineOptions=PipelineOptionsFactory.create();
管道数据流管道=Pipeline.create();
dataflowPipeline.apply(JdbcIO.read().withCoder(KvCoder.of(VarIntCoder.of(),StringUtf8Coder.of()))
.withDataSourceConfiguration(JdbcIO.DataSourceConfiguration
.create(“com.mysql.jdbc.Driver”,“jdbc:mysql://:3306/foodmart”)
.withUsername(“根”).withPassword(“根”))
.withQuery(“从帐户中选择帐户id、帐户描述”)
.withRowMapper(新的JdbcIO.RowMapper(){
@凌驾
public KV mapRow(ResultSet ResultSet)引发异常{
//TODO自动生成的方法存根
返回KV.of(resultSet.getInt(1),resultSet.getString(2));
}
}));
dataflowPipeline.run();
线程“main”java.lang.IllegalArgumentException中出现异常:无法设置编码器(null) 位于org.apache.beam.sdk.repackaged.com.google.common.base.premissions.checkArgument(premissions.java:122) 位于org.apache.beam.sdk.values.PCollection.setCoder(PCollection.java:265) 位于org.apache.beam.sdk.io.jdbc.JdbcIO$Read.expand(JdbcIO.java:325) 位于org.apache.beam.sdk.io.jdbc.JdbcIO$Read.expand(JdbcIO.java:272) 位于org.apache.beam.sdk.Pipeline.applyInternal(Pipeline.java:482) 位于org.apache.beam.sdk.Pipeline.applyTransform(Pipeline.java:422) 位于org.apache.beam.sdk.values.PBegin.apply(PBegin.java:44) 位于org.apache.beam.sdk.Pipeline.apply(Pipeline.java:164)
在com.neudesic.com.GoogleSQLPipeline.main(GoogleSQLPipeline.java:24)

看来,我对jar文件有一些问题。我已经重新创建了工作区和项目。然后,相同的代码运行时没有任何问题

谢谢