云数据流云 SQL 数据流运行器给出空指针异常



我正在尝试使用云数据流处理大量记录。我的源是谷歌云存储,我的接收器是云SQL(MySQL(。我有以下代码要写入接收器(云 SQL(。

p.apply()
....
.withDataSourceConfiguration(JdbcIO.DataSourceConfiguration.create(
"com.mysql.cj.jdbc.Driver", "jdbc:mysql://google/<DBNAME>?cloudSqlInstance=<INSTANCE_NAME>&socketFactory=com.google.cloud.sql.mysql.SocketFactory&user=<USERNAME>&password=<PASSWORD>&useSSL=false"
)
)

当我使用DirectRunner运行管道时,上述工作正常。但是在DataflowRunner上运行时它会抛出NullPointer Exception.例外情况如下:

java.lang.NullPointerException
at org.apache.beam.sdk.io.jdbc.JdbcIO$Write$WriteFn.executeBatch(JdbcIO.java:775)
at org.apache.beam.sdk.io.jdbc.JdbcIO$Write$WriteFn.finishBundle(JdbcIO.java:755)

光束版本 = 2.16.0, 2.15.0 - 尝试了两个版本,但失败了。为什么会发生这种情况? 使其与DataflowRunner一起使用的解决方案是什么?

我已经解决了这个问题。NUllPointerException是出于另一个原因finishBundle

最新更新