我正在为BigQuery Data做转换步骤。我想让Pentaho创建一个工作来清理BigQuery中的数据并执行预定的插入。
我使用表输入步骤查询10(这只是有限的记录,因为我的BigQuery表中有数十亿行)记录在我的BigQuery表上。之后,我创建了添加序列步骤,将行号分配到我选定的行中。
执行上述步骤后,我使用表格输出步骤将记录转储到我的BigQuery数据集中的不同表格中。我运行Pentaho Transformation的那一刻,我的表输出步骤出现错误。
2017/12/04 07:36:02 - 表输出0 - 连接到数据库[bigquery 2](commit = 1000) 2017/12/04 07:36:04 - 表输出0 - 错误(版本7.1.0.0-12,版本1来自2017-05-16 17.18.02 by buildguy):由于出错,此步骤不能继续: 2017/12/04 07:36:04 - 表输出0 - ERROR(版本7.1.0.0-12,build-16由2017-05-16 17.18.02构建1):org.pentaho.di.core.exception。 KettleException: 2017/12/04 07:36:04 - 表格输出0 - 使用值[3],[0],[195],[196],[0],[0]将值插入表[sleep_day2]时出错,[0],[1],[2017-11-22 14:35:11],[2017-11-22 14:35:11],[2017-10-03],[1103] 2017/12/04 07:36:04 - 表输出0 - 2017/12/04 07:36:04 - 表格输出0 - 插入/更新行时出错 2017/12/04 07:36:04 - 表输出0 - [Simba] JDBC Null指针异常。 2017/12/04 07:36:04 - 表输出0 - 2017/12/04 07:36:04 - 表输出0 - 2017/12/04 07:36:04 - 表输出0 - 在org.pentaho.di.trans.steps.tableoutput.TableOutput.writeToTable(TableOutput.java:385) 2017/12/04 07:36:04 - 表输出0 - 在org.pentaho.di.trans.steps.tableoutput.TableOutput.processRow(TableOutput.java:125) 2017/12/04 07:36:04 - 表输出0 - 在org.pentaho.di.trans.step.RunThread.run(RunThread.java:62) 2017/12/04 07:36:04 - 表输出0 - 在java.lang.Thread.run(未知来源) 2017/12/04 07:36:04 - 表输出0 - 引起:org.pentaho.di.core.exception.KettleDatabaseException: 2017/12/04 07:36:04 - 表格输出0 - 插入/更新行时出错 2017/12/04 07:36:04 - 表输出0 - [Simba] JDBC Null指针异常。 2017/12/04 07:36:04 - 表输出0 - 2017/12/04 07:36:04 - 表输出0 - 在org.pentaho.di.core.database.Database.insertRow(Database.java:1321) 2017/12/04 07:36:04 - 表输出0 - 在org.pentaho.di.trans.steps.tableoutput.TableOutput.writeToTable(TableOutput.java:262) 2017/12/04 07:36:04 - 表输出0 - ......还有3个 2017/12/04 07:36:04 - 表输出0 - 引起:java.sql.SQLException:[Simba] JDBC Null指针异常。 2017/12/04 07:36:04 - 表格输出0 - 来自com.simba.googlebigquery.googlebigquery.dataengine.BQSQLExecutor.execute(未知来源) 2017/12/04 07:36:04 - 表格输出0 - 来自com.simba.googlebigquery.jdbc.common.SPreparedStatement.executeWithParams(未知来源) 2017/12/04 07:36:04 - 表格输出0 - 来自com.simba.googlebigquery.jdbc.common.SPreparedStatement.executeAnyUpdate(未知来源) 2017/12/04 07:36:04 - 表格输出0 - 来自com.simba.googlebigquery.jdbc.common.SPreparedStatement.executeUpdate(未知来源) 2017/12/04 07:36:04 - 表输出0 - 在org.pentaho.di.core.database.Database.insertRow(Database.java:1288) 2017/12/04 07:36:04 - 表输出0 - ......还有4个 2017/12/04 07:36:04 - 表输出0 - 引起:java.lang.NullPointerException 2017/12/04 07:36:04 - 表输出0 - ......还有9个 2017/12/04 07:36:04 - 表输出0 - 完成处理(I = 0,O = 0,R = 1,W = 0,U = 0,E = 1)
我似乎无法理解
它的投掷。但是,当我在BigQuery中检查目标表时..插入了1行。我想知道如何插入这一行,其他9行不是。JDBC Null指针异常。
我正在为Google BigQuery使用 SimbaJDBCDriver42_1.1.2.1002 。我的 PDI版本是7.1.0.0-12
我也知道我们可以通过BigQuery WEB UI简单地执行这种转换但是,我正在对数据执行各种转换规则。其中一些不受BigQuery支持。
非常感谢您的帮助