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

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

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

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

BigQuery

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

Oracle Database

Oracle Databaseは、米オラクルが開発・販売を行うリレーショナルデータベース管理システムです。

Q&A

解決済

4回答

3347閲覧

use_raw_query_with_incrementalオプションについて

raccoondog

総合スコア77

Embulk

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

BigQuery

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

Oracle Database

Oracle Databaseは、米オラクルが開発・販売を行うリレーショナルデータベース管理システムです。

0グッド

0クリップ

投稿2018/12/10 06:24

oracleDBのデータをBigQueryへ増分バルクインサートしたいのですが
embulkで増分対象とするデータを検索する際にある2つのテーブルを結合させて
条件にマッチングしたレコードのみを対象としたいです。

use_raw_query_with_incrementalオプションを使って、検証しているのですが
incremental_columnsオプションが有効にならずエラーを出力しております。

原因調査中となります。

環境:Win7、embulk 0.9.8 、oracle12c

SQL> desc INPUT_TEST_001 名前 NULL? 型 ------------------------ -------- ------------- BANGOU NOT NULL NUMBER(8) NUM NUMBER(12,2) STR CHAR(8) VARSTR VARCHAR2(8) DT DATE TIME0 TIMESTAMP(0) TIME6 TIMESTAMP(6) TIME9 TIMESTAMP(9) SQL> desc INPUT_TEST_002 名前 NULL? 型 ------------------------ -------- ------------- ID NOT NULL NUMBER(8) NUM NUMBER(12,2) STR CHAR(8) VARSTR VARCHAR2(8) DT DATE TIME0 TIMESTAMP(0) TIME6 TIMESTAMP(6) TIME9 TIMESTAMP(9) ※C:\Users\xxxxx\Desktop\embulk\config_bq_incremental.yml.liquid in: type: oracle path_prefix: null driver_path: C:\Users\xxxxx\Desktop\embulkDB\product\12.2.0\dbhome_1\sqldeveloper\jdbc\lib\ojdbc7.jar host: xxxx-xxxx user: system password: xxxxx database: ORCL query: select A1.BANGOU,A1.NUM,A1.STR from INPUT_TEST_001 A1,INPUT_TEST_002 B1 where A1.NUM = B1.NUM incremental: true incremental_columns: [dt] use_raw_query_with_incremental: true last_record: [1] out: {type: bigquery, auth_method: json_key, json_keyfile: 'C:\Users\xxxxx\Desktop\embulk\My First Project-6041ffecfba7.json', project: xxxxxxxx, dataset: embulk_test, auto_create_table: true, table: INPUT_TEST_001, read_timeout_sec: 360000, open_timeout_sec: 360000, send_timeout_sec: 360000, mode: append} C:\Users\xxxxx>C:\Users\xxxxx\Desktop\embulk\embulk-0.9.8.bat run C:\Users\xxxxx\Desktop\embulk\config_bq_incremental.yml.liquid -c C:\Users\xxxxx\Desktop\embulk\diff_001.yml 2018-12-10 14:47:35.047 +0900: Embulk v0.9.8 2018-12-10 14:47:36.014 +0900 [WARN] (main): DEPRECATION: JRuby org.jruby.embed.ScriptingContainer is directly injected. 2018-12-10 14:47:39.714 +0900 [INFO] (main): Gem's home and path are set by default: "C:\Users\xxxxx.embulk\lib\gems" 2018-12-10 14:47:43.275 +0900 [INFO] (main): Started Embulk v0.9.8 2018-12-10 14:47:43.384 +0900 [INFO] (0001:transaction): Loaded plugin embulk-input-oracle (0.9.3) 2018-12-10 14:47:48.941 +0900 [INFO] (0001:transaction): Loaded plugin embulk-output-bigquery (0.4.9) 2018-12-10 14:47:48.973 +0900 [INFO] (0001:transaction): Connecting to jdbc:oracle:thin:@xxxx-xxxx:1521:ORCL options {oracle.jdbc.ReadTimeout=1800000, user=system, password=***, oracle.net.CONNECT_TIMEOUT=300000} 2018-12-10 14:47:49.503 +0900 [INFO] (0001:transaction): Using JDBC Driver 12.1.0.2.0 org.embulk.exec.PartialExecutionException: org.embulk.config.ConfigException: Column ":dt" doesn't exist in query string 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.embulk.config.ConfigException: Column ":dt" doesn't exist in query string at org.embulk.input.jdbc.AbstractJdbcInputPlugin.getRawQuery(AbstractJdbcInputPlugin.java:365) at org.embulk.input.jdbc.AbstractJdbcInputPlugin.setupTask(AbstractJdbcInputPlugin.java:217) at org.embulk.input.jdbc.AbstractJdbcInputPlugin.transaction(AbstractJdbcInputPlugin.java:201) at org.embulk.exec.BulkLoader.doRun(BulkLoader.java:506) ... 11 more Error: org.embulk.config.ConfigException: Column ":dt" doesn't exist in query string C:\Users\xxxxx>

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

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

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

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

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

guest

回答4

0

ベストアンサー

手元でPostgreSQLで試したのでこちらを参考にしてみてください。

yaml

1 query: |- 2 select 3 a1.dt as a1_dt, 4 a1.bangou, 5 a1.num, 6 a1.varstr 7 from input_test_001 a1,input_test_002 b1 8 where a1.num = b1.num 9 and a1.dt >= :a1_dt 10 incremental_columns: [a1_dt] 11 incremental: true 12 use_raw_query_with_incremental: true 13 last_record: ['2018-12-13T00:00:30.000000']
  • select部にa1.dt as a1_dtが必要です。joinで二つのテーブルに同じカラムがある場合は、asでカラム名を変えないとだめです。
  • a1.dtは先頭にないとダメなようです。(これは別の不具合によるもの)

余談ですがuse_raw_query_with_incrementalは、last_recordは自分で更新する必要があります。embulkはこの値を書き換えません。

投稿2018/12/14 04:12

hiroysato

総合スコア415

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

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

raccoondog

2018/12/14 04:32

ご回答有難うございます。 use_raw_query_with_incrementalオプションでは、last_recordを手動更新が必要であること了解いたしました。
guest

0

ワーウアランドっぽいですが、これでどうでしょうか?
(その他部分は一緒です。)

yaml

1query: |- 2 select 3 A1.BANGOU,A1.NUM,A1.STR,A1.DT as a1_dt 4 from 5 INPUT_TEST_001 A1,INPUT_TEST_002 B1 6 where 7 A1.NUM = B1.NUM 8 AND a1_dt > :a1_dt 9incremental_columns: [a1_dt]

余談ですが
last_record1となっています。
DTはDATE型なのに大丈夫なんでしょうか?
以下のようになりますよ?

SQL

1 where 2 A1.NUM = B1.NUM 3 AND a1_dt > 1

余談2

ちなみにA1.DT as a1_dtをせずにselect A1.DT,B1.DTするとembulk previewではどうなるのでしょうか?

投稿2018/12/13 08:20

hiroysato

総合スコア415

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

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

raccoondog

2018/12/13 08:44

ご回答有難うございます。 定義修正後の結果、エラーとなってしまいました。 取り急ぎ、連絡させて頂きます。 in: type: oracle path_prefix: null driver_path: C:\Users\xxxxxxxxx\Desktop\embulkDB\product\12.2.0\dbhome_1\sqldeveloper\jdbc\lib\ojdbc7.jar host: A0430-02396 user: system password: xxxxxxxxx database: ORCL query: |- select A1.BANGOU,A1.NUM,A1.STR,A1.DT as A1_DT from INPUT_TEST_001 A1,INPUT_TEST_002 B1 where A1.NUM = B1.NUM AND A1_DT > :A1_DT use_raw_query_with_incremental: true last_record: [18-12-10] incremental_columns: [A1_dt] incremental: true out: {type: bigquery, auth_method: json_key, json_keyfile: 'C:\Users\xxxxxxxxx\Desktop\embulk\My First Project-6041xxxxxx.json', project: fluid-xxxxx-xxxxx, dataset: embulk_test, auto_create_table: true, table: INPUT_TEST_001, read_timeout_sec: 360000, open_timeout_sec: 360000, send_timeout_sec: 360000, mode: append} C:\Users\xxxxxxxxx\Desktop\embulk>embulk-0.9.8.bat run config_test.yml.liquid -c diff_001.yml 2018-12-13 17:27:34.465 +0900: Embulk v0.9.8 2018-12-13 17:27:35.448 +0900 [WARN] (main): DEPRECATION: JRuby org.jruby.embed.ScriptingContainer is directly injected. 2018-12-13 17:27:39.118 +0900 [INFO] (main): Gem's home and path are set by default: "C:\Users\xxxxxxxxx.embulk\lib\gems" 2018-12-13 17:27:42.799 +0900 [INFO] (main): Started Embulk v0.9.8 2018-12-13 17:27:42.908 +0900 [INFO] (0001:transaction): Loaded plugin embulk-input-oracle (0.9.3) 2018-12-13 17:27:48.240 +0900 [INFO] (0001:transaction): Loaded plugin embulk-output-bigquery (0.4.9) 2018-12-13 17:27:48.302 +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-12-13 17:27:48.818 +0900 [INFO] (0001:transaction): Using JDBC Driver 12.1.0.2.0 org.embulk.exec.PartialExecutionException: org.embulk.config.ConfigException: Column ":A1.dt" doesn't exist in query string 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.embulk.config.ConfigException: Column ":A1.dt" doesn't exist in query string at org.embulk.input.jdbc.AbstractJdbcInputPlugin.getRawQuery(AbstractJdbcInputPlugin.java:365) at org.embulk.input.jdbc.AbstractJdbcInputPlugin.setupTask(AbstractJdbcInputPlugin.java:217) at org.embulk.input.jdbc.AbstractJdbcInputPlugin.transaction(AbstractJdbcInputPlugin.java:201) at org.embulk.exec.BulkLoader.doRun(BulkLoader.java:506) ... 11 more Error: org.embulk.config.ConfigException: Column ":A1.dt" doesn't exist in query string C:\Users\xxxxxxxxx\Desktop\embulk>
hiroysato

2018/12/13 09:09

a1.dtなんて定義してないのに変ですね、、diff_001.yml には何か入っていますか?、use_raw_query_with_incrementalは-cは使えないと思うので、-c diff_001.yml抜いてやってみていただけますか?
raccoondog

2018/12/13 09:28

実行コマンドに-c diff_001.ymlを省いてみたのですが、結果は全く同じでした。 diff_001.ymlファイルは0バイトでした。
raccoondog

2018/12/14 00:32

query箇所をoracleDB上で実行してみると、以下のエラーがでます select A1.BANGOU,A1.NUM,A1.STR,A1.DT as a1_dt from INPUT_TEST_001 A1,INPUT_TEST_002 B1 where A1.NUM = B1.NUM AND a1_dt > :a1_dt; SP2-0552: バインド変数 A1_DTが宣言されていません。
guest

0

なにをどう変えたかわからないとコメントできません。

1番目と2番目はエラーの内容が違うと思います。

  • 最初のエラー、Column ":dt" doesn't exist in query string
  • 2番目のエラー、java.sql.SQLSyntaxErrorException: ORA-00918: 列の定義が未確定です。

Column "xxx" doesnt exist in query stringというのは、queryの中にincremental_columns
で記載している':' + カラム名の文字列が見つからない場合に出るエラーです。

以下のように記述したりしてないでしょうか?

yaml

1 incremental_columns: [A1_dt]

簡単な例で動作確認をお勧めします。

投稿2018/12/12 10:33

hiroysato

総合スコア415

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

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

raccoondog

2018/12/13 04:42

ご回答有難うございます。 定義ファイルを以下の通り、変更し再実行したのですがincremental_columnsオプションではA1.dtのカラム名ではエラーとなってしまいます。 queryオプションで定義している独自のSQLをOracle上で実行すると、正常に結果が返ってきます use_raw_query_with_incremental: trueとしているので、embulkでも実行される認識なのですが原因不明の状況となります。 ※※※定義ファイル※※※ in: type: oracle path_prefix: null driver_path: C:\Users\xxxxx\Desktop\embulkDB\product\12.2.0\dbhome_1\sqldeveloper\jdbc\lib\ojdbc7.jar host: A0430-02396 user: system password: xxxxx database: ORCL query: select A1.BANGOU,A1.NUM,A1.STR from INPUT_TEST_001 A1,INPUT_TEST_002 B1 where A1.NUM = B1.NUM AND A1.dt > :A1.dt use_raw_query_with_incremental: true last_record: [1] incremental_columns: [A1.dt] incremental: true out: {type: bigquery, auth_method: json_key, json_keyfile: 'C:\Users\xxxxx\Desktop\embulk\My First Project-6041xxxxx.json', project: xx-xx-xxx, dataset: embulk_test, auto_create_table: true, table: INPUT_TEST_001, read_timeout_sec: 360000, open_timeout_sec: 360000, send_timeout_sec: 360000, mode: append} ※※※エラー※※※ C:\Users\aaaaaaaaaaa\Desktop\embulk>embulk-0.9.8.bat run config_bq_incremental.yml.liquid -c diff_001.yml 2018-12-13 13:37:45.161 +0900: Embulk v0.9.8 2018-12-13 13:37:46.176 +0900 [WARN] (main): DEPRECATION: JRuby org.jruby.embed.ScriptingContainer is directly injected. 2018-12-13 13:37:50.001 +0900 [INFO] (main): Gem's home and path are set by default: "C:\Users\aaaaaaaaaaa.embulk\lib\gems" 2018-12-13 13:37:53.547 +0900 [INFO] (main): Started Embulk v0.9.8 2018-12-13 13:37:53.641 +0900 [INFO] (0001:transaction): Loaded plugin embulk-input-oracle (0.9.3) 2018-12-13 13:37:59.295 +0900 [INFO] (0001:transaction): Loaded plugin embulk-output-bigquery (0.4.9) 2018-12-13 13:37:59.350 +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-12-13 13:37:59.849 +0900 [INFO] (0001:transaction): Using JDBC Driver 12.1.0.2.0 org.embulk.exec.PartialExecutionException: org.embulk.config.ConfigException: Column name 'A1.dt' is in incremental_columns option does not exist 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.embulk.config.ConfigException: Column name 'A1.dt' is in incremental_columns option does not exist at org.embulk.input.jdbc.AbstractJdbcInputPlugin.findIncrementalColumnIndexes(AbstractJdbcInputPlugin.java:347) at org.embulk.input.jdbc.AbstractJdbcInputPlugin.setupTask(AbstractJdbcInputPlugin.java:267) at org.embulk.input.jdbc.AbstractJdbcInputPlugin.transaction(AbstractJdbcInputPlugin.java:201) at org.embulk.exec.BulkLoader.doRun(BulkLoader.java:506) ... 11 more Error: org.embulk.config.ConfigException: Column name 'A1.dt' is in incremental_columns option does not exist C:\Users\aaaaaaaaaaa\Desktop\embulk>
guest

0

embulk-input-oracleのUse incremental loading with raw queryをご参照ください。

こちらの例では、foo.id > :foo_idと記述している:foo_idのところをincremental_columnの値で置き換えてクエリをするようになっています。

記述されたログをみるとqueryの中に:dtという記述がないようです。

yaml

1in: 2 type: oracle 3 query: 4 SELECT 5 foo.id as foo_id, bar.name 6 FROM 7 foo LEFT JOIN bar ON foo.id = bar.id 8 WHERE 9 foo.hoge IS NOT NULL 10 AND foo.id > :foo_id 11 ORDER BY 12 foo.id ASC 13 use_raw_query_with_incremental: true 14 incremental_columns: 15 - foo_id 16 incremental: true 17 last_record: [1]

投稿2018/12/10 07:18

hiroysato

総合スコア415

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

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

raccoondog

2018/12/10 09:09 編集

定義変更したのですが、別のエラーが出力されてしまいました。 ※定義 in: type: oracle path_prefix: null driver_path: C:\Users\yazaki\Desktop\embulkDB\product\12.2.0\dbhome_1\sqldeveloper\jdbc\lib\ojdbc7.jar host: A0430-02396 user: system password: yazaki database: ORCL query: select A1.BANGOU,A1.NUM,A1.STR from INPUT_TEST_001 A1,INPUT_TEST_002 B1 where A1.NUM = B1.NUM AND dt > :dt incremental: true incremental_columns: [dt] use_raw_query_with_incremental: true last_record: [1] out: {type: bigquery, auth_method: json_key, json_keyfile: 'C:\Users\yazaki\Desktop\embulk\My First Project-6041ffecfba7.json', project: fluid-emissary-216806, dataset: embulk_test, auto_create_table: true, table: INPUT_TEST_001, read_timeout_sec: 360000, open_timeout_sec: 360000, send_timeout_sec: 360000, mode: append} ※実行ログ 2018-12-10 18:04:30.500 +0900: Embulk v0.9.8 2018-12-10 18:04:31.483 +0900 [WARN] (main): DEPRECATION: JRuby org.jruby.embed.ScriptingContainer is directly injected. 2018-12-10 18:04:35.373 +0900 [INFO] (main): Gem's home and path are set by default: "C:\Users\yazaki.embulk\lib\gems" 2018-12-10 18:04:39.093 +0900 [INFO] (main): Started Embulk v0.9.8 2018-12-10 18:04:39.202 +0900 [INFO] (0001:transaction): Loaded plugin embulk-input-oracle (0.9.3) 2018-12-10 18:04:44.369 +0900 [INFO] (0001:transaction): Loaded plugin embulk-output-bigquery (0.4.9) 2018-12-10 18:04:44.431 +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-12-10 18:04:45.049 +0900 [INFO] (0001:transaction): Using JDBC Driver 12.1.0.2.0 org.embulk.exec.PartialExecutionException: java.lang.RuntimeException: java.sql.SQLSyntaxErrorException: ORA-00918: 列の定義が未確定です。 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: java.lang.RuntimeException: java.sql.SQLSyntaxErrorException: ORA-00918: 列の定義が未確定です。 at com.google.common.base.Throwables.propagate(Throwables.java:160) at org.embulk.input.jdbc.AbstractJdbcInputPlugin.transaction(AbstractJdbcInputPlugin.java:203) at org.embulk.exec.BulkLoader.doRun(BulkLoader.java:506) ... 11 more Caused by: java.sql.SQLSyntaxErrorException: ORA-00918: 列の定義が未確定です。 at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:450) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:392) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:385) at oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:1018) at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:522) at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:257) at oracle.jdbc.driver.T4C8Odscrarr.doODNY(T4C8Odscrarr.java:96) at oracle.jdbc.driver.T4CPreparedStatement.doDescribe(T4CPreparedStatement.java:717) at oracle.jdbc.driver.OracleStatement.describe(OracleStatement.java:4404) at oracle.jdbc.driver.OracleResultSetMetaData.<init>(OracleResultSetMetaData.java:52) at oracle.jdbc.driver.OracleStatement.getResultSetMetaData(OracleStatement.java:4387) at oracle.jdbc.driver.OraclePreparedStatement.getMetaData(OraclePreparedStatement.java:5581) at oracle.jdbc.driver.OraclePreparedStatementWrapper.getMetaData(OraclePreparedStatementWrapper.java:1509) at org.embulk.input.jdbc.JdbcInputConnection.getSchemaOfQuery(JdbcInputConnection.java:67) at org.embulk.input.jdbc.AbstractJdbcInputPlugin.setupTask(AbstractJdbcInputPlugin.java:238) at org.embulk.input.jdbc.AbstractJdbcInputPlugin.transaction(AbstractJdbcInputPlugin.java:201) ... 12 more Error: java.lang.RuntimeException: java.sql.SQLSyntaxErrorException: ORA-00918: 列の定義が未確定です。
hiroysato

2018/12/10 09:13

Oracleは詳しくありませんが、INPUT_TEST_001,INPUT_TEST_002ともにDTがあるから、 A1.DTとか書かないといけないのではないでしょうか? PL/SQL等でSQLが正常に動作するか確認してはいかがでしょうか?
raccoondog

2018/12/11 00:56

ご指摘有難うございます。 検証させて頂きます。
raccoondog

2018/12/12 06:46

A1.dtとしても、結果 error: org.embulk.config.ConfigException: Column "A1_dt" doesnt exist in query string で失敗してしまいます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.53%

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

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

質問する

関連した質問