embulk-input-bigquery
を使用したときのエラーをメモです。
エラーメッセージが全然優しくなくて、プラグインのソース見て推測するしかないので辛いです。
実行環境
embulk v0.9.3 embulk-input-bigquery v0.0.9
locationの指定漏れ
embulk-input-bigqueryには、datasetのlocationを指定する location
があるのですが、これを指定しないとエラーになります。
datasetのlocationをデフォルトにしておけば問題ないかもしれませんが、私は asia-northeast1
にしてました
org.embulk.exec.PartialExecutionException: org.jruby.exceptions.RaiseException: (NoMethodError) undefined method `query_results' for nil:NilClass at org.embulk.exec.BulkLoader$LoaderState.buildPartialExecuteException(BulkLoader.java:340) at org.embulk.exec.BulkLoader.doRun(BulkLoader.java:566) at org.embulk.exec.BulkLoader.access$000(BulkLoader.java:35) at org.embulk.exec.BulkLoader$1.run(BulkLoader.java:353) at org.embulk.exec.BulkLoader$1.run(BulkLoader.java:350) at org.embulk.spi.Exec.doWith(Exec.java:22) at org.embulk.exec.BulkLoader.run(BulkLoader.java:350) at org.embulk.EmbulkEmbed.run(EmbulkEmbed.java:242) at org.embulk.EmbulkRunner.runInternal(EmbulkRunner.java:291) at org.embulk.EmbulkRunner.run(EmbulkRunner.java:155) at org.embulk.cli.EmbulkRun.runSubcommand(EmbulkRun.java:431) at org.embulk.cli.EmbulkRun.run(EmbulkRun.java:90) at org.embulk.cli.Main.main(Main.java:64) Caused by: org.jruby.exceptions.RaiseException: (NoMethodError) undefined method `query_results' for nil:NilClass at RUBY.run(/root/.embulk/lib/gems/gems/embulk-input-bigquery-0.0.9/lib/embulk/input/bigquery.rb:88) at RUBY.run(uri:classloader:/gems/embulk-0.9.23-java/lib/embulk/input_plugin.rb:107)
sqlのキー間違い
2020-07-30 04:01:01.176 +0000 [INFO] (0001:transaction): Loaded plugin embulk-input-bigquery (0.0.9) org.embulk.exec.PartialExecutionException: org.jruby.exceptions.RaiseException: (NoMethodError) undefined method `encoding' for nil:NilClass at org.embulk.exec.BulkLoader$LoaderState.buildPartialExecuteException(BulkLoader.java:340) at org.embulk.exec.BulkLoader.doRun(BulkLoader.java:566) at org.embulk.exec.BulkLoader.access$000(BulkLoader.java:35) at org.embulk.exec.BulkLoader$1.run(BulkLoader.java:353) at org.embulk.exec.BulkLoader$1.run(BulkLoader.java:350) at org.embulk.spi.Exec.doWith(Exec.java:22) at org.embulk.exec.BulkLoader.run(BulkLoader.java:350) at org.embulk.EmbulkEmbed.run(EmbulkEmbed.java:242) at org.embulk.EmbulkRunner.runInternal(EmbulkRunner.java:291) at org.embulk.EmbulkRunner.run(EmbulkRunner.java:155) at org.embulk.cli.EmbulkRun.runSubcommand(EmbulkRun.java:431) at org.embulk.cli.EmbulkRun.run(EmbulkRun.java:90) at org.embulk.cli.Main.main(Main.java:64) Suppressed: java.lang.NullPointerException at org.embulk.exec.BulkLoader.doCleanup(BulkLoader.java:463) at org.embulk.exec.BulkLoader$3.run(BulkLoader.java:397) at org.embulk.exec.BulkLoader$3.run(BulkLoader.java:394) at org.embulk.spi.Exec.doWith(Exec.java:22) at org.embulk.exec.BulkLoader.cleanup(BulkLoader.java:394) at org.embulk.EmbulkEmbed.run(EmbulkEmbed.java:245) ... 5 more Caused by: org.jruby.exceptions.RaiseException: (NoMethodError) undefined method `encoding' for nil:NilClass at RUBY.compile(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/erb.rb:599) at RUBY.initialize(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/erb.rb:801) at RUBY.transaction(/root/.embulk/lib/gems/gems/embulk-input-bigquery-0.0.9/lib/embulk/input/bigquery.rb:28) at RUBY.transaction(uri:classloader:/gems/embulk-0.9.23-java/lib/embulk/input_plugin.rb:58)
ymlで sql
と指定すべきところを query
としてました。
embulk-input-mysql
のプラグインで使ってた別のファイルをコピーして持ってきたときに変え忘れていました。