Java 设置';干运行';真实
根据BigQuery中Java 设置';干运行';真实,java,nullpointerexception,google-bigquery,Java,Nullpointerexception,Google Bigquery,根据BigQuery中dryRun字段的文档,当设置为true时,将不执行查询,而是验证查询并返回一些基本统计信息: [可选]如果设置为true,则BigQuery不会运行作业。相反,如果 查询有效,BigQuery返回有关作业的统计信息,例如 将处理多少字节。如果查询无效,则会出现错误 返回。默认值为false 但是,使用,并将dryRun设置为true会引发NullPointerException: [...] JobConfiguration jobConfiguration = ne
dryRun
字段的文档,当设置为true
时,将不执行查询,而是验证查询并返回一些基本统计信息:
[可选]如果设置为true,则BigQuery不会运行作业。相反,如果
查询有效,BigQuery返回有关作业的统计信息,例如
将处理多少字节。如果查询无效,则会出现错误
返回。默认值为false
但是,使用,并将dryRun
设置为true
会引发NullPointerException:
[...]
JobConfiguration jobConfiguration = newBuilder(query)
.setAllowLargeResults(true)
.setUseLegacySql(false)
.setDryRun(true)
.setDestinationTable(TableId.of("<project>", "<dataset>", "<table>"))
.setCreateDisposition(CREATE_IF_NEEDED)
.setWriteDisposition(WRITE_TRUNCATE)
.setPriority(INTERACTIVE)
.build();
JobInfo jobInfo = JobInfo.of(jobConfiguration);
Job job = bigQuery.create(jobInfo);
[...]
[…]
JobConfiguration JobConfiguration=newBuilder(查询)
.setAllowLargeResults(真)
.setUseLegacySql(false)
.setDryRun(真)
.setDestinationTable(表ID.of(“,”,“))
.setCreateDisposition(如果需要,则创建)
.setWriteDisposition(WRITE_TRUNCATE)
.setPriority(交互式)
.build();
JobInfo JobInfo=JobInfo.of(作业配置);
Job Job=bigQuery.create(jobInfo);
[...]
例外情况:
线程“main”java.lang.NullPointerException中的异常
在com.google.cloud.bigquery.JobConfiguration.fromPb上(JobConfiguration.java:140)
请访问com.google.cloud.bigquery.JobInfo$BuilderImpl。(JobInfo.java:182)
位于com.google.cloud.bigquery.Job.fromPb(Job.java:324)
在com.google.cloud.bigquery.BigQueryImpl.create上(BigQueryImpl.java:229)
这是Java客户端库中的一个bug,还是我做了/使用了错误
注意:将其设置为false
可正常工作
注2:jobConfiguration
和jobInfo
均已初始化,即不为null
这是客户端库中的一个bug。以下是GitHub中的问题
只是一个想法。。。
build()
的结果是否可能为空?我想知道构造作业配置
是否由于某种原因而失败。@ElliottBrossard:更新的问题(不是null
)
Exception in thread "main" java.lang.NullPointerException
at com.google.cloud.bigquery.JobConfiguration.fromPb(JobConfiguration.java:140)
at com.google.cloud.bigquery.JobInfo$BuilderImpl.<init>(JobInfo.java:182)
at com.google.cloud.bigquery.Job.fromPb(Job.java:324)
at com.google.cloud.bigquery.BigQueryImpl.create(BigQueryImpl.java:229)