2017-01-12 8 views
2

Bigcheery APIdryRunフィールドのドキュメントによると、trueに設定すると、クエリは実行されず、代わりに検証され、基本的な統計が返されます:'dryRun'をtrueに設定したときにNPEを投げるBigQueryクライアントライブラリ

[オプション] trueに設定すると、BigQueryはジョブを実行しません。代わりに クエリが有効な場合、BigQueryは処理されるバイト数を などのジョブに関する統計情報を返します。クエリが無効な場合、エラー が返されます。デフォルト値はfalseです。

[...] 
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 LN 140中:

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) 

これはバグです

enter image description here

しかし、Java client lib for BigQueryを使用して、そしてtruedryRunを設定すると、NullPointerExceptionがスローされますJavaクライアントlib、または私はやっている/間違って使っている?

falseに設定すると、正常に動作します。

注2jobConfigurationjobInfo両方それは、クライアントライブラリのバグだnull

enter image description here

+0

'build()'の結果がnullである可能性はありますか?何らかの理由で 'JobConfiguration'の構築が失敗したのだろうかと思います。 –

+0

@ElliottBrossard:更新された質問(「null」ではない) –

答えて

関連する問題