digdag run text.digで生じるruntimeエラーを解消したい。
エラー内容
digdag run text.dig --no-saveを実行すると
error_text
1error: 2 * +training2+load_to_bq: 3 Command failed with code 1 (runtime)
が発生して、BigQueryにデータをロードできない。
これをロードできるようにしたい。
試したこと
Embulk run config.yml.liquidを実行した時は、問題なくロードできた。
スペルミス等ないかチェック
恐らく、digファイルの方に問題があると思うが(エラー文の通り)解決方法が見つからなかったため、質問させてください。
ファイル
sec/text.dig
1timezone: Asia/Tokyo 2 3_export: 4 dataset: myname 5 table: test 6 7+load_to_bq: 8 sh>: embulk run config.yml.liquid
sec/config.yml.liquid
1in: 2 type: file 3 path_prefix: <<指定のpass>>/input_data_1.csv 4 parser: 5 charset: UTF-8 6 newline: LF 7 type: csv 8 delimiter: ',' 9 quote: '"' 10 escape: '"' 11 trim_if_not_quoted: false 12 skip_header_lines: 1 13 allow_extra_columns: false 14 allow_optional_columns: false 15 columns: 16 - {name: report_date, type: timestamp, format: '%Y-%m-%d %H:%M:%S'} 17 - {name: account_id, type: long} 18 - {name: campaign_id, type: long} 19 - {name: impressions, type: long} 20 - {name: clicks, type: long} 21 - {name: costs, type: double} 22 - {name: conversions, type: long} 23out: 24 type: bigquery 25 auth_method: json_key 26 json_keyfile: <<指定のpass>>/etl-training_json_keyfile.json 27 dataset: {{env.dataset}} 28 auto_create_dataset: true 29 auto_create_table: true 30 table: {{env.table}}
このほか、データを読み込むのに必要なCSVファイルとBigQueryの認証に必要なファイルは配置済み
普通は error: の前にエラー内容が出ていると思うんですが、出てないですか?
すごい長くなるのですが、こんな感じです。
強いて言うなら「Task failed with unexpected error: Command failed with code 1」だと思うのですが、結局同じで、、、
2022-05-14 00:42:14 +0900: Digdag v0.10.4
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.skife.jdbi.cglib.core.ReflectUtils$1 (file:/usr/local/Cellar/digdag/0.10.4_1/libexec/digdag-0.10.4.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of org.skife.jdbi.cglib.core.ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
2022-05-14 00:42:17 +0900 [WARN] (main): Using a new session time 2022-05-14T00:00:00+09:00.
2022-05-14 00:42:17 +0900 [INFO] (main): Starting a new session project id=1 workflow name=training2 session_time=2022-05-14T00:00:00+09:00
2022-05-14 00:42:17 +0900 [INFO] (0020@[0:default]+training2+load_to_bq): sh>: embulk run config1.yml.liquid
2022-05-14 00:42:18.413 +0900: Embulk v0.9.24
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
at org.apache.bval.jsr303.ConfigurationImpl.parseValidationXml(ConfigurationImpl.java:268)
at org.apache.bval.jsr303.ConfigurationImpl.prepare(ConfigurationImpl.java:258)
at org.apache.bval.jsr303.ConfigurationImpl.doPrivBuildValidatorFactory(ConfigurationImpl.java:248)
at org.apache.bval.jsr303.util.SecureActions$5.run(SecureActions.java:131)
at org.apache.bval.jsr303.util.SecureActions$5.run(SecureActions.java:129)
at org.apache.bval.jsr303.ConfigurationImpl.run(ConfigurationImpl.java:337)
at org.apache.bval.jsr303.ConfigurationImpl.buildValidatorFactory(ConfigurationImpl.java:244)
at org.embulk.config.ModelManager.<init>(ModelManager.java:24)
at org.embulk.EmbulkEmbed$Bootstrap.<init>(EmbulkEmbed.java:52)
at org.embulk.cli.EmbulkRun.runSubcommand(EmbulkRun.java:409)
at org.embulk.cli.EmbulkRun.run(EmbulkRun.java:90)
at org.embulk.cli.Main.main(Main.java:64)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
... 12 more
2022-05-14 00:42:19 +0900 [ERROR] (0020@[0:default]+training2+load_to_bq): Task failed with unexpected error: Command failed with code 1
java.lang.RuntimeException: Command failed with code 1
at io.digdag.standards.operator.ShOperatorFactory$ShOperator.runCode(ShOperatorFactory.java:121)
at io.digdag.standards.operator.ShOperatorFactory$ShOperator.runTask(ShOperatorFactory.java:88)
at io.digdag.util.BaseOperator.run(BaseOperator.java:35)
at io.digdag.core.agent.OperatorManager.callExecutor(OperatorManager.java:399)
at io.digdag.cli.Run$OperatorManagerWithSkip.callExecutor(Run.java:709)
at io.digdag.core.agent.OperatorManager.runWithWorkspace(OperatorManager.java:308)
at io.digdag.core.agent.OperatorManager.lambda$runWithHeartbeat$2(OperatorManager.java:152)
at io.digdag.core.agent.LocalWorkspaceManager.withExtractedArchive(LocalWorkspaceManager.java:25)
at io.digdag.core.agent.OperatorManager.runWithHeartbeat(OperatorManager.java:150)
at io.digdag.core.agent.OperatorManager.run(OperatorManager.java:133)
at io.digdag.cli.Run$OperatorManagerWithSkip.run(Run.java:691)
at io.digdag.core.agent.MultiThreadAgent.lambda$null$0(MultiThreadAgent.java:132)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
2022-05-14 00:42:19 +0900 [INFO] (0020@[0:default]+training2^failure-alert): type: notify
error:
* +training2+load_to_bq:
Command failed with code 1 (runtime)
> java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
出てるじゃないですか。これでぐぐってください。
ありがとうございます!
問題の原因は分かりました!
ただ、解決策が
- --add-modules=java.xml.bind →現行バージョンでは使えない
- バージョンを8まで下げる。→現行18なのだが、そこまで下げて良い?(記事が大体2018とかに書かれているため、その時のバージョンが9とか)
- mavenファイルいじる →作ってないのだが一体どこからいじれば?
という状況で手詰まりしております。
javaに疎く大変申し訳ありませんが、もしお分かりでしたらご教授いただきたく存じます。
https://www.embulk.org/
> Embulk v0.9 and v0.10 run on Java 8. Java 9 is not supported officially.
だそうです。
Java12 での同じエラーも報告もサポート外ということで closed になっています。
https://github.com/embulk/embulk/issues/1168
ありがとうございます!
バージョンダウンするしかない感じですね、、、
参考になりました!
あなたの回答
tips
プレビュー