質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Embulk

Embulkは、CSVデータやアクセスログなどの構造化データを高い信頼性で転送することができる、プラグインベースのバルクデータローダーです。

BigQuery

BigQueryは、Google Cloud Platformが提供しているビッグデータ解析サービス。数TB(テラバイト)またはPB(ペタバイト)の膨大なデータに対し、SQL風のクエリを実行し、高速で集計・分析を行うサービスです。

Q&A

解決済

2回答

962閲覧

バルクインサート処理時にp12key file エラー発生

raccoondog

総合スコア77

Embulk

Embulkは、CSVデータやアクセスログなどの構造化データを高い信頼性で転送することができる、プラグインベースのバルクデータローダーです。

BigQuery

BigQueryは、Google Cloud Platformが提供しているビッグデータ解析サービス。数TB(テラバイト)またはPB(ペタバイト)の膨大なデータに対し、SQL風のクエリを実行し、高速で集計・分析を行うサービスです。

0グッド

0クリップ

投稿2018/11/06 05:02

編集2018/11/06 07:40

oracleDBからBiqgueryへデータをバルクインサートしたいのですが
embulkを実行しますと、以下のエラーが出力されます

p12keyfileは、別途作成する必要があるのでしょうか。
p12keyfileがなんの役割をはたすものか調査中の状況です。

環境:Windows 7 / Embulk 0.98 / OracleDB12c

C:\Users\yazaki\Desktop\embulk>embulk-0.9.8.bat run config_bq.yml 2018-11-06 13:45:36.780 +0900: Embulk v0.9.8 2018-11-06 13:45:37.841 +0900 [WARN] (main): DEPRECATION: JRuby org.jruby.embed.ScriptingContainer is directly injected. 2018-11-06 13:45:41.694 +0900 [INFO] (main): Gem's home and path are set by default: "C:\Users\yazaki.embulk\lib\gems" 2018-11-06 13:45:43.113 +0900 [INFO] (main): Started Embulk v0.9.8 2018-11-06 13:45:43.238 +0900 [INFO] (0001:transaction): Loaded plugin embulk-input-oracle (0.9.3) 2018-11-06 13:45:49.135 +0900 [INFO] (0001:transaction): Loaded plugin embulk-output-bigquery (0.4.9) 2018-11-06 13:45:49.182 +0900 [INFO] (0001:transaction): Connecting to jdbc:oracle:thin:@A0430-02396:1521:ORCL options {oracle.jdbc.ReadTimeout=1800000, user=system, password=***, oracle.net.CONNECT_TIMEOUT=300000} 2018-11-06 13:45:49.743 +0900 [INFO] (0001:transaction): Using JDBC Driver 12.1.0.2.0 2018-11-06 13:45:49.884 +0900 [INFO] (0001:transaction): Using local thread executor with max_threads=8 / output tasks 4 = input tasks 1 * 4 org.embulk.exec.PartialExecutionException: org.jruby.proxy.org.embulk.config.ConfigException$Proxy1: `p12_keyfile` is required for auth_method private_key at org.embulk.exec.BulkLoader$LoaderState.buildPartialExecuteException(BulkLoader.java:339) at org.embulk.exec.BulkLoader.doRun(BulkLoader.java:565) at org.embulk.exec.BulkLoader.access$000(BulkLoader.java:34) at org.embulk.exec.BulkLoader$1.run(BulkLoader.java:352) at org.embulk.exec.BulkLoader$1.run(BulkLoader.java:349) at org.embulk.spi.Exec.doWith(Exec.java:22) at org.embulk.exec.BulkLoader.run(BulkLoader.java:349) at org.embulk.EmbulkEmbed.run(EmbulkEmbed.java:161) at org.embulk.EmbulkRunner.runInternal(EmbulkRunner.java:292) at org.embulk.EmbulkRunner.run(EmbulkRunner.java:156) at org.embulk.cli.EmbulkRun.runSubcommand(EmbulkRun.java:436) at org.embulk.cli.EmbulkRun.run(EmbulkRun.java:91) at org.embulk.cli.Main.main(Main.java:26) Suppressed: java.lang.NullPointerException at org.embulk.exec.BulkLoader.doCleanup(BulkLoader.java:462) at org.embulk.exec.BulkLoader$3.run(BulkLoader.java:396) at org.embulk.exec.BulkLoader$3.run(BulkLoader.java:393) at org.embulk.spi.Exec.doWith(Exec.java:22) at org.embulk.exec.BulkLoader.cleanup(BulkLoader.java:393) at org.embulk.EmbulkEmbed.run(EmbulkEmbed.java:164) ... 5 more Caused by: org.jruby.proxy.org.embulk.config.ConfigException$Proxy1: `p12_keyfile` is required for auth_method private_key at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at org.jruby.javasupport.proxy.JavaProxyConstructor.newInstanceImpl(JavaProxyConstructor.java:119) at org.jruby.javasupport.proxy.JavaProxyConstructor.newInstance(JavaProxyConstructor.java:205) at org.jruby.javasupport.Java$JCreateMethod.call(Java.java:618) at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:200) at org.jruby.internal.runtime.methods.JavaMethod$JavaMethodN.call(JavaMethod.java:739) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:278) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:79) at org.jruby.java.proxies.ConcreteJavaProxy$InitializeMethod.call(ConcreteJavaProxy.java:48) at org.jruby.ir.runtime.IRRuntimeHelpers.instanceSuper(IRRuntimeHelpers.java:984) at org.jruby.ir.instructions.InstanceSuperInstr.interpret(InstanceSuperInstr.java:69) at org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:360) at org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:74) at org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:84) at org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:179) at org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:165) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:328) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:165) at org.jruby.RubyClass.newInstance(RubyClass.java:1001) at org.jruby.RubyClass$INVOKER$i$newInstance.call(RubyClass$INVOKER$i$newInstance.gen) at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:200) at org.jruby.java.proxies.ConcreteJavaProxy$NewMethod.call(ConcreteJavaProxy.java:158) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:318) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:155) at org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:315) at org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:74) at org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:109) at org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:95) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:278) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:79) at org.jruby.ir.instructions.CallBase.interpret(CallBase.java:432) at org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:360) at org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:74) at org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:109) at org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:95) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:278) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:79) at org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:84) at org.jruby.ir.instructions.CallBase.interpret(CallBase.java:429) at org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:360) at org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:74) at org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:109) at org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:95) at Embulk$$OutputPlugin$$JavaAdapter_161232248.transaction(Embulk$$OutputPlugin$$JavaAdapter_161232248.gen:13) at org.embulk.exec.BulkLoader$4$1$1.transaction(BulkLoader.java:520) at org.embulk.exec.LocalExecutorPlugin.transaction(LocalExecutorPlugin.java:49) at org.embulk.exec.BulkLoader$4$1.run(BulkLoader.java:515) at org.embulk.spi.util.Filters$RecursiveControl.transaction(Filters.java:84) at org.embulk.spi.util.Filters.transaction(Filters.java:42) at org.embulk.exec.BulkLoader$4.run(BulkLoader.java:510) at org.embulk.input.jdbc.AbstractJdbcInputPlugin.transaction(AbstractJdbcInputPlugin.java:206) at org.embulk.exec.BulkLoader.doRun(BulkLoader.java:506) ... 11 more Error: org.jruby.proxy.org.embulk.config.ConfigException$Proxy1: `p12_keyfile` is required for auth_method private_key C:\Users\yazaki\Desktop\embulk>

ymlファイルの定義です。

C:\Users\yazaki\Desktop\embulk>type seed_bq.yml in: type: oracle driver_path: C:\Users\yazaki\Desktop\embulkDB\product\12.2.0\dbhome_1\sqldeveloper\jdbc\lib\ojdbc7.jar host: A0430-02396 user: xxxx password: xxxx database: ORCL table: INPUT_TEST out: type: bigquery project: fluid-emissary-216806 dataset: embulk_test auto_create_table: true table: users

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

ネットワークの状態が不安定で接続断が発生しておりました。
現在は、正常にBigQueryへデータのバルクインサートが成功しております。

投稿2018/11/06 08:44

raccoondog

総合スコア77

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sazi

2018/11/06 08:48 編集

ymlは、auth_methodの追加は不要で、質問の内容に対して変更は無かったということですか?
raccoondog

2018/11/06 09:00

ymlファイルへ、auth_methodは追加しました。 その後の再実行時のエラーは出力されなくなりました。
sazi

2018/11/06 09:02

質問に対してのクローズのさせ方が変です。 この自己解決は質問のエラーに対する解決方法ではありませんね。 その後のエラーに対するものです。 ※後学者の為、コメントしておきます。
raccoondog

2018/11/06 09:08

ご指摘ありがとうございます。 以後、注意致します。
guest

0

outにauth_methodが省略されているので、defaultのprivate_keyになって、設定を要求されています。

auth_method: json_key

を追加してみて下さい。

多分、他にも色々指定が必要な気がします。

READMEなどを確認して下さい。

投稿2018/11/06 06:25

sazi

総合スコア25173

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

raccoondog

2018/11/06 07:01

ご回答ありがとうございます。 パラメータを見直しまして in: type: oracle driver_path: C:\Users\yazaki\Desktop\embulkDB\product\12.2.0\dbhome_1\sqldeveloper\jdbc\lib\ojdbc7.jar host: xxxx user: xxxx password: xxxx database: ORCL table: INPUT_TEST out: type: bigquery auth_method: json_key json_keyfile: C:\Users\yazaki\Desktop\embulk\xxxxxxxxx.json project: fluid-emissary-xxxx dataset: embulk_test auto_create_table: true table: users として GCP上で作成したjsonファイルを追加しました。 再実行しますと別のエラーが出力され調査中の状況です。
raccoondog

2018/11/06 07:02

再実行時のエラー C:\Users\yazaki\Desktop\embulk>embulk-0.9.8.bat run config_bq.yml 2018-11-06 15:48:44.455 +0900: Embulk v0.9.8 2018-11-06 15:48:45.547 +0900 [WARN] (main): DEPRECATION: JRuby org.jruby.embed.ScriptingContainer is directly injected. 2018-11-06 15:48:49.396 +0900 [INFO] (main): Gem's home and path are set by default: "C:\Users\yazaki.embulk\lib\gems" 2018-11-06 15:48:51.228 +0900 [INFO] (main): Started Embulk v0.9.8 2018-11-06 15:48:51.355 +0900 [INFO] (0001:transaction): Loaded plugin embulk-input-oracle (0.9.3) 2018-11-06 15:48:57.189 +0900 [INFO] (0001:transaction): Loaded plugin embulk-output-bigquery (0.4.9) 2018-11-06 15:48:57.258 +0900 [INFO] (0001:transaction): Connecting to jdbc:oracle:thin:@A0430-02396:1521:ORCL options {oracle.jdbc.ReadTimeout=1800000, user=system, password=***, oracle.net.CONNECT_TIMEOUT=300000} 2018-11-06 15:48:57.891 +0900 [INFO] (0001:transaction): Using JDBC Driver 12.1.0.2.0 2018-11-06 15:48:58.021 +0900 [INFO] (0001:transaction): Using local thread executor with max_threads=8 / output tasks 4 = input tasks 1 * 4 2018-11-06 15:48:58.137 +0900 [INFO] (0001:transaction): embulk-output-bigquery: Get dataset... fluid-emissary-216806:embulk_test org.embulk.exec.PartialExecutionException: org.jruby.exceptions.RaiseException: (SSLError) 既存の接続はリモート ホストに強制的に切断されました。 at org.embulk.exec.BulkLoader$LoaderState.buildPartialExecuteException(BulkLoader.java:339) at org.embulk.exec.BulkLoader.doRun(BulkLoader.java:565) at org.embulk.exec.BulkLoader.access$000(BulkLoader.java:34) at org.embulk.exec.BulkLoader$1.run(BulkLoader.java:352) at org.embulk.exec.BulkLoader$1.run(BulkLoader.java:349) at org.embulk.spi.Exec.doWith(Exec.java:22) at org.embulk.exec.BulkLoader.run(BulkLoader.java:349) at org.embulk.EmbulkEmbed.run(EmbulkEmbed.java:161) at org.embulk.EmbulkRunner.runInternal(EmbulkRunner.java:292) at org.embulk.EmbulkRunner.run(EmbulkRunner.java:156) at org.embulk.cli.EmbulkRun.runSubcommand(EmbulkRun.java:436) at org.embulk.cli.EmbulkRun.run(EmbulkRun.java:91) at org.embulk.cli.Main.main(Main.java:26) Suppressed: java.lang.NullPointerException at org.embulk.exec.BulkLoader.doCleanup(BulkLoader.java:462) at org.embulk.exec.BulkLoader$3.run(BulkLoader.java:396) at org.embulk.exec.BulkLoader$3.run(BulkLoader.java:393) at org.embulk.spi.Exec.doWith(Exec.java:22) at org.embulk.exec.BulkLoader.cleanup(BulkLoader.java:393) at org.embulk.EmbulkEmbed.run(EmbulkEmbed.java:164) ... 5 more Caused by: org.jruby.exceptions.RaiseException: (SSLError) 既存の接続はリモート ホストに強制的に切断されました。 at RUBY.block in call(C:/Users/yazaki/.embulk/lib/gems/gems/faraday-0.15.3/lib/faraday/adapter/net_http.rb:46) at RUBY.with_net_http_connection(C:/Users/yazaki/.embulk/lib/gems/gems/faraday-0.15.3/lib/faraday/adapter/net_http.rb:92) at RUBY.call(C:/Users/yazaki/.embulk/lib/gems/gems/faraday-0.15.3/lib/faraday/adapter/net_http.rb:38) at RUBY.call(C:/Users/yazaki/.embulk/lib/gems/gems/faraday-0.15.3/lib/faraday/request/url_encoded.rb:15) at RUBY.build_response(C:/Users/yazaki/.embulk/lib/gems/gems/faraday-0.15.3/lib/faraday/rack_builder.rb:143) at RUBY.run_request(C:/Users/yazaki/.embulk/lib/gems/gems/faraday-0.15.3/lib/faraday/connection.rb:387) at RUBY.post(C:/Users/yazaki/.embulk/lib/gems/gems/faraday-0.15.3/lib/faraday/connection.rb:175) at RUBY.fetch_access_token(C:/Users/yazaki/.embulk/lib/gems/gems/signet-0.11.0/lib/signet/oauth_2/client.rb:996) at RUBY.fetch_access_token!(C:/Users/yazaki/.embulk/lib/gems/gems/signet-0.11.0/lib/signet/oauth_2/client.rb:1036) at RUBY.fetch_access_token!(C:/Users/yazaki/.embulk/lib/gems/gems/googleauth-0.6.7/lib/googleauth/signet.rb:69) at RUBY.apply!(C:/Users/yazaki/.embulk/lib/gems/gems/googleauth-0.6.7/lib/googleauth/signet.rb:45) at RUBY.apply!(C:/Users/yazaki/.embulk/lib/gems/gems/googleauth-0.6.7/lib/googleauth/service_account.rb:95) at RUBY.apply_request_options(C:/Users/yazaki/.embulk/lib/gems/gems/google-api-client-0.24.3/lib/google/apis/core/http_command.rb:313) at RUBY.execute_once(C:/Users/yazaki/.embulk/lib/gems/gems/google-api-client-0.24.3/lib/google/apis/core/http_command.rb:289) at RUBY.block in execute(C:/Users/yazaki/.embulk/lib/gems/gems/google-api-client-0.24.3/lib/google/apis/core/http_command.rb:104) at RUBY.block in retriable(C:/Users/yazaki/.embulk/lib/gems/gems/retriable-3.1.2/lib/retriable.rb:61) at org.jruby.RubyFixnum.times(org/jruby/RubyFixnum.java:305) at RUBY.retriable(C:/Users/yazaki/.embulk/lib/gems/gems/retriable-3.1.2/lib/retriable.rb:56) at RUBY.block in execute(C:/Users/yazaki/.embulk/lib/gems/gems/google-api-client-0.24.3/lib/google/apis/core/http_command.rb:101) at RUBY.block in retriable(C:/Users/yazaki/.embulk/lib/gems/gems/retriable-3.1.2/lib/retriable.rb:61) at org.jruby.RubyFixnum.times(org/jruby/RubyFixnum.java:305) at RUBY.retriable(C:/Users/yazaki/.embulk/lib/gems/gems/retriable-3.1.2/lib/retriable.rb:56) at RUBY.execute(C:/Users/yazaki/.embulk/lib/gems/gems/google-api-client-0.24.3/lib/google/apis/core/http_command.rb:93) at RUBY.execute_or_queue_command(C:/Users/yazaki/.embulk/lib/gems/gems/google-api-client-0.24.3/lib/google/apis/core/base_service.rb:360) at RUBY.get_dataset(C:/Users/yazaki/.embulk/lib/gems/gems/google-api-client-0.24.3/generated/google/apis/bigquery_v2/service.rb:128) at RUBY.block in get_dataset(C:/Users/yazaki/.embulk/lib/gems/gems/embulk-output-bigquery-0.4.9/lib/embulk/output/bigquery/bigquery_client.rb:394) at RUBY.with_network_retry(C:/Users/yazaki/.embulk/lib/gems/gems/embulk-output-bigquery-0.4.9/lib/embulk/output/bigquery/google_client.rb:82) at RUBY.get_dataset(C:/Users/yazaki/.embulk/lib/gems/gems/embulk-output-bigquery-0.4.9/lib/embulk/output/bigquery/bigquery_client.rb:394) at RUBY.auto_create(C:/Users/yazaki/.embulk/lib/gems/gems/embulk-output-bigquery-0.4.9/lib/embulk/output/bigquery.rb:289) at RUBY.transaction(C:/Users/yazaki/.embulk/lib/gems/gems/embulk-output-bigquery-0.4.9/lib/embulk/output/bigquery.rb:344) at RUBY.transaction(uri:classloader:/gems/embulk-0.9.8-java/lib/embulk/output_plugin.rb:64) Error: org.jruby.exceptions.RaiseException: (SSLError) 既存の接続はリモート ホストに強制的に切断されました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問