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

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

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

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

BigQuery

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

Oracle

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

Q&A

受付中

bigqueryテーブルのデータ型変換につきまして

raccoondog
raccoondog

総合スコア77

Embulk

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

BigQuery

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

Oracle

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

1回答

0グッド

0クリップ

4168閲覧

投稿2019/04/09 23:34

編集2019/04/16 08:02

Bigqueryのテーブルにデータ型がFLOATの列があります。
FLOATの列を、NUMERICの列にしたいです。

特定列のみを指定してCAST関数で変換可能でしょうか?

また、Oracle⇒embulk⇒bigquery でデータ型が自動的に変換されるのは仕様でしょうか?
embulkで事前にデータ型を指定して(NUMMERICになるように)bigqueryへインサートさせれば
想定通りのテーブルが構成されますでしょうか?

例、列名:ORDER_NO Oracle:NUMBER(15) ↓自動解析 embulk:double ↓自動解析 bigquery:float

※OracleのVIEWは使用せず、対応したいです。

※2019/4/16

環境:oracle 12c、embulk 0.9.15 ※Oracle定義 SQL> desc T_RS_TRAN 名前 NULL? 型 ----------------------------------------- -------- ---------------------------- ORDER_NO NOT NULL NUMBER(15) RS_TYPE NOT NULL VARCHAR2(1) FACTORY_CODE NOT NULL VARCHAR2(4) ORG_CODE NOT NULL VARCHAR2(3) TRAN_DATE NOT NULL DATE HINBAN NOT NULL VARCHAR2(40) QTY NOT NULL NUMBER(11,2) SLIP_NO NOT NULL VARCHAR2(10) ITEM_NO NOT NULL VARCHAR2(2) DIVISION_NO NUMBER(1) ●● ●● ●● INV_INFO_UPDATE_FLAG VARCHAR2(1) ※実行ログ 2019-04-16 16:47:24.274 +0900 [ERROR] (0001:transaction): embulk-output-bigquery: failed during waiting a Copy job, get_job(yzk-gcp-project, embulk_copy_job_ec19947a-757f-4119-9620-7ccdeb023777), errors:[{:reason=>"invalid", :message=>"Provided Schema does not match Table yzk-gcp-project:srdcs_data.T_RS_TRAN_20190416. Field ORDER_NO has changed type from NUMERIC to STRING"}] 2019-04-16 16:47:24.276 +0900 [INFO] (0001:transaction): embulk-output-bigquery: Delete table... yzk-gcp-project:srdcs_data.LOAD_TEMP_eb1cab64_4892_425b_bf29_d279cc655440_T_RS_TRAN_20190416 2019-04-16 16:47:24.590 +0900 [INFO] (0001:transaction): embulk-output-bigquery: delete /var/tmp/embulk_output_bigquery_20190416-15487-1vrnvze.15487.2004.csv 2019-04-16 16:47:24.590 +0900 [INFO] (0001:transaction): embulk-output-bigquery: delete /var/tmp/embulk_output_bigquery_20190416-15487-1vrnvze.15487.2006.csv 2019-04-16 16:47:24.591 +0900 [INFO] (0001:transaction): embulk-output-bigquery: delete /var/tmp/embulk_output_bigquery_20190416-15487-1vrnvze.15487.2008.csv 2019-04-16 16:47:24.591 +0900 [INFO] (0001:transaction): embulk-output-bigquery: delete /var/tmp/embulk_output_bigquery_20190416-15487-1vrnvze.15487.2010.csv 2019-04-16 16:47:24.591 +0900 [INFO] (0001:transaction): embulk-output-bigquery: delete /var/tmp/embulk_output_bigquery_20190416-15487-1vrnvze.15487.2012.csv org.embulk.exec.PartialExecutionException: org.jruby.exceptions.RaiseException: (Error) failed during waiting a Copy job, get_job(yzk-gcp-project, embulk_copy_job_ec19947a-757f-4119-9620-7ccdeb023777), errors:[{:reason=>"invalid", :message=>"Provided Schema does not match Table yzk-gcp-project:srdcs_data.T_RS_TRAN_20190416. Field ORDER_NO has changed type from NUMERIC to STRING"}] 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:178) 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:64) Caused by: org.jruby.exceptions.RaiseException: (Error) failed during waiting a Copy job, get_job(yzk-gcp-project, embulk_copy_job_ec19947a-757f-4119-9620-7ccdeb023777), errors:[{:reason=>"invalid", :message=>"Provided Schema does not match Table yzk-gcp-project:srdcs_data.T_RS_TRAN_20190416. Field ORDER_NO has changed type from NUMERIC to STRING"}] at RUBY.wait_load(/export/home/srdcs/.embulk/lib/gems/gems/embulk-output-bigquery-0.4.9/lib/embulk/output/bigquery/bigquery_client.rb:346) at RUBY.block in copy(/export/home/srdcs/.embulk/lib/gems/gems/embulk-output-bigquery-0.4.9/lib/embulk/output/bigquery/bigquery_client.rb:289) at RUBY.with_job_retry(/export/home/srdcs/.embulk/lib/gems/gems/embulk-output-bigquery-0.4.9/lib/embulk/output/bigquery/bigquery_client.rb:58) at RUBY.copy(/export/home/srdcs/.embulk/lib/gems/gems/embulk-output-bigquery-0.4.9/lib/embulk/output/bigquery/bigquery_client.rb:249) at RUBY.transaction(/export/home/srdcs/.embulk/lib/gems/gems/embulk-output-bigquery-0.4.9/lib/embulk/output/bigquery.rb:407) at RUBY.transaction(uri:classloader:/gems/embulk-0.9.15-java/lib/embulk/output_plugin.rb:64) Error: org.jruby.exceptions.RaiseException: (Error) failed during waiting a Copy job, get_job(yzk-gcp-project, embulk_copy_job_ec19947a-757f-4119-9620-7ccdeb023777), errors:[{:reason=>"invalid", :message=>"Provided Schema does not match Table yzk-gcp-project:srdcs_data.T_RS_TRAN_20190416. Field ORDER_NO has changed type from NUMERIC to STRING"}] ●embulk定義 in: type: oracle path_prefix: null driver_path: /opt/oracle/product/12.1.0/db/jdbc/lib/ojdbc7.jar host: srdcs04 user: srdcs password: srdcs database: srdcsc column_options: ORDER_NO: { value_type: string } query: | select trs.ORDER_NO, trs.RS_TYPE, trs.FACTORY_CODE, trs.ORG_CODE, trs.TRAN_DATE, trs.HINBAN, trs.QTY, trs.SLIP_NO, trs.ITEM_NO, trs.DIVISION_NO, trs.FROM_FACTORY_CODE, trs.FROM_ORG_CODE, trs.FROM_SUBINV_CODE, trs.FROM_VALUE_CODE, trs.FROM_OPERATOR_NAME, trs.TO_FACTORY_CODE, trs.TO_ORG_CODE, trs.TO_SUBINV_CODE, trs.TO_VALUE_CODE, trs.TO_OPERATOR_NAME, trs.SUB_SYSTEM_TYPE1, trs.CANCEL_FLAG, trs.ACT_CREATION_DATE, trs.WH_ACT_CREATION_DATE, trs.JOB_CODE, trs.UNIT_PRICE, trs.ERROR_STATUS, trs.DESCRIPTION, trs.LOCATION, trs.REVISION_NO, trs.OPE_CODE, trs.BOX_KIND, trs.DEMAND_NO, trs.SUB_NO, trs.TRAFFIC_NO, trs.IF_FLAG, trs.SELL_BUY_DATA_FLAG, trs.SOURCE_ORDER_NO, trs.FT_DEFINE_ID, trs.FROM_SELL_BUY_ID, trs.TO_SELL_BUY_ID, trs.CREATION_DATE, trs.CREATED_BY, trs.LAST_UPDATE_DATE, trs.LAST_UPDATED_BY, trs.UPDATE_REQUEST_ID, trs.TIME_STAMP, trs.INV_UPDATE_FLAG, trs.ISSUE_SEQ, trs.SOUMEI_ID, trs.GCPCS_IF_FLAG, trs.GCPCS_IF_CREATION_DATE, trs.RECIEPT_CODE, trs.DELIV_BIN_NO, trs.DELIV_NO, trs.RECV_BIN_NO, trs.SUB_SYSTEM_TYPE2, trs.SHIP_DATE, trs.C_NO, trs.T_NO, trs.RECV_OFFICE_CODE, trs.SR_IF_FLAG, trs.SR_IF_CREATION_DATE, trs.PS_IF_FLAG, trs.PS_IF_CREATION_DATE, trs.CUSTOMER_CODE, trs.KS_type, trs.SUPPLY_SECTION, trs.MANAGE_NO, trs.SEND_OFFICE_CODE, trs.SOUMEI_SLIP_NO, trs.SOUMEI_ITEM_NO, trs.PS_YAZAKI_HINBAN, trs.INVOICE_CASE_INFO_NO, trs.GYK_SITE_CODE, trs.CASE_NO, trs.CASE_SUB_NO, trs.FROM_LOCATION, trs.TO_LOCATION, trs.GYK_TRAN_type, trs.INV_INFO_UPDATE_FLAG, (select code_description from m_code where code_type = 'rs_type' and code = trs.rs_type) rs_name, (select org_name from m_org where org_code = trs.org_code ) org_name, (select factory_name from m_factory where factory_code = trs.from_factory_code ) from_factory_name, (select org_name from m_org where org_code = trs.from_org_code ) from_org_name, (select subinv_name from m_subinv where org_code = trs.from_org_code and subinv_code = trs.from_subinv_code) from_subinv_name, (select factory_name from m_factory where factory_code = trs.to_factory_code ) to_factory_name, (select org_name from m_org where org_code = trs.to_org_code ) to_org_name, (select subinv_name from m_subinv where org_code = trs.to_org_code and subinv_code = trs.to_subinv_code) to_subinv_name, (select ope_code_name from m_ope_code where factory_code = trs.factory_code and ope_code = trs.ope_code) ope_code_name, (select sub_system_name1 from m_sub_system_type1 where sub_system_type1 = trs.sub_system_type1) sub_system_name1, (select code_description from m_code where code_type= 'cancel_flag' and code= trs.cancel_flag) cancel_name, (select sub_system_name2 from m_sub_system_type2 where sub_system_type1 = trs.sub_system_type1 and sub_system_type2 = trs.sub_system_type2) sub_system_name2 from T_RS_TRAN trs where IF_FLAG = '1' and TO_DATE(TRAN_DATE) >= TO_DATE('20190226','yyyyMMdd') and TO_DATE(TRAN_DATE) <= TO_DATE('20190227','yyyyMMdd') out: { type: bigquery, auth_method: json_key, json_keyfile: '/home1/bigquery/conf/My First Project-6041ffecfba7.json', project: fluid-emissary-216806, dataset: embulk_test, auto_create_table: true, table: T_RS_TRAN, open_read_timeout_sec: 360000, send_timeout_sec: 360000, read_timeout_sec: 360000}

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

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

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

下記のような質問は推奨されていません。

  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

回答1

1

https://teratail.com/questions/181476#reply-270195
何回も何回も何回も何回も言っていますがEmbulkのバージョン情報とかログ情報、OSの情報もつけていただけますか?

Bigqueryは使っていないので詳しくわかりませんが、schema_fileとかtemplate_tableではダメなんでしょうか?
https://github.com/embulk/embulk-output-bigquery#dynamic-table-creating

schema_fileのサンプルはこちらにあるようです。
https://github.com/embulk/embulk-output-bigquery/blob/master/example/schema.json

2019-4-16 16:55 追加

Provided Schema does not match Table yzk-gcp-project:srdcs_data.T_RS_TRAN_20190416. Field ORDER_NO has changed type from NUMERIC to STRING
とあるように既存のテーブルと型が一致していないのではないでしょうか?

schema_fileとかtemplate_tableは指定されているのでしょうか?
https://github.com/embulk/embulk-output-bigquery#dynamic-table-creating

また設定ファイルをご提供いただけないんですね。。

ターゲットのテーブルを決して作り直すか、型を変える等が必要なのではないでしょうか?

NUMBER⇒double※embulkにより自動変換⇒float⇒float【●】 NUMBER⇒double※embulkにより自動変換⇒float⇒NUMERIC【×】

これはembulkのところは、全く一緒に見えますが、bigqueryのところが何かちがうのでしょうか?

2019-4-16 19:15 追加

こちらはご覧になりましたか?

schema_fileはBigQueryのテーブルのスキーマ定義のファイルを指定しています。これはauto_create_tableを使用する時に必要です。schema_file以外の指定の方法としてtemplate_tableやcolumn_optionsを使う方法があります。詳しくはembulk-output-bigqueryのREADME.mdを見てみてください。

yaml

1out: 2 type: bigquery 3 auth_method: json_key 4 json_keyfile: '{{ env.bq_credential }}' 5 project: {{ env.bq_project }} 6 dataset: {{ env.bq_dataset }} 7 location: asia-northeast1 8 table: {{ env.bq_table }} 9 schema_file: {{ env.bq_table }}.json 10 default_timezone: Asia/Tokyo 11 auto_create_table: true 12 path_prefix: {{ env.bq_table }} 13 compression: GZIP 14 time_partitioning: 15 type: DAY 16 field: update_time

2019-4-16 19:58 追加

他の設定を真似したらいかがでしょうか?、YAMLの書き方が間違えています。YAMLの書き方を調べて習得してください。

Column Options

yaml

1out: 2 type: bigquery 3 auto_create_table: true 4 column_options: 5 - {name: date, type: STRING, timestamp_format: %Y-%m-%d, timezone: "Asia/Tokyo"} 6 - name: json_column 7 type: RECORD 8 fields: 9 - {name: key1, type: STRING} 10 - {name: key2, type: STRING}

2019-4-16 20:52 追加

Column Options

Embulk typeBigQuery typedefault
boolean:BOOLEAN, STRINGBOOLEAN
long:BOOLEAN, INTEGER, FLOAT, STRING, TIMESTAMPINTEGER
double:INTEGER, FLOAT, STRING, TIMESTAMPFLOAT
string:BOOLEAN, INTEGER, FLOAT, STRING, TIMESTAMP, RECORDSTRING
timestamp:INTEGER, FLOAT, STRING, TIMESTAMPTIMESTAMP
json:STRING, RECORDSTRING

投稿2019/04/10 01:27

編集2019/04/16 11:53
hiroysato

総合スコア406

raccoondog👍を押しています

下記のような回答は推奨されていません。

  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

raccoondog

2019/04/16 07:44

質問事項を更新させて頂きました。 oracleのデータ型がnumberの場合に、 embulk側でdouble、string、long型へ変換させてデータ読込しても bigquery側がnumericだと失敗してしまいす。 embulk側ではconfig.ymlファイルで{value_type: データ型}で変換させました。
raccoondog

2019/04/16 07:50 編集

oracle⇒embulk⇒embulk_plugin⇒bigquery【処理結果】 ------------------------------------------------------------------- NUMBER⇒double※embulkにより自動変換⇒float⇒float【●】 NUMBER⇒double※embulkにより自動変換⇒float⇒NUMERIC【×】 NUMBER⇒long※embulkの定義で強制変換⇒integer⇒NUMERIC【×】 NUMBER⇒string※embulkの定義で強制変換⇒string⇒NUMERIC【×】
hiroysato

2019/04/16 07:58

上をご覧ください。
raccoondog

2019/04/16 08:02

ご指摘有難うございます。 embulk定義を質問事項に追記させて頂きました。
raccoondog

2019/04/16 08:04 編集

➀NUMBER⇒double※embulkにより自動変換⇒float⇒float【●】 ➁NUMBER⇒double※embulkにより自動変換⇒float⇒NUMERIC【×】 ➀はembulkのauto_create機能でbigquery側にテーブル自動作成させた場合 ➁はbigquery側にcreatetableで事前にテーブル作成させた場合
raccoondog

2019/04/16 09:07

ご回答有難うございます。 説明不足していてすみません。 Oracleのデータを特定条件で抽出して(embulkのqueryオプション)、bigqueryにデータをインサートさせたいです。 そのためOracleのテーブルを指定しております。 embulkのscema_fileやtemplate_tableを指定した場合でも同じ事ができますでしょうか。 Oracleのビューのような動きになるのでしょうか?
hiroysato

2019/04/16 09:21

schema_fileや、template_tableはembulk-output-bigqueryの設定です。 Oracleは関係ないです。 in:に書く設定がOracleからデータを取得する設定で、 out: はbigqueryにデータを投入する設定です。 それぞれは独立しています。 あくまでEmbulk -> Bigqueryの設定です。 この辺が参考になるように思います。 https://tech.griphone.co.jp/2018/12/04/advent-calendar-20181204/
raccoondog

2019/04/16 10:08

理解力が低くて、申し訳ないのですが。。 schema_fileには、Oracleで指定したいテーブルのカラム名とデータ型を記載して embulkのconfig.ymlファイルにschema_fileを指定する。 で宜しいでしょうか?
hiroysato

2019/04/16 10:18

上をご覧ください。 Embulkに取り込まれた時点で、Oracleは関係なくなります。 Embulkのboolean, string, timestamp, double, integer, jsonのデータをbigqueryにどう対応させるかです。
raccoondog

2019/04/16 10:51

※embulk定義 out: { location: asia-northeast1, type: bigquery, auth_method: json_key, json_keyfile: '/home1/bigquery/conf/YZK GCP Project-8bc479ac2a95.json', project: yzk-gcp-project, dataset: srdcs_data, auto_create_table: false, table: T_RS_TRAN_20190416, column_options: - {name: ORDER_NO, type: NUMERIC } open_read_timeout_sec: 360000, send_timeout_sec: 360000, read_timeout_sec: 360000 } ※エラー Error: while parsing a flow node in 'string', line 120, column 8: - {name: ORDER_NO, type: NUMERIC } ^ expected the node content, but found BlockEntry in 'string', line 120, column 8: - {name: ORDER_NO, type: NUMERIC }
raccoondog

2019/04/16 10:54

ご指摘ありがとうございます。 column_optionsでbigquery側のカラムのデータ型を指定しました。 しかし、エラーが出力されている状況となります。
hiroysato

2019/04/16 11:00

上をご覧ください。
raccoondog

2019/04/16 11:21

column_optionsにて、ORDER_NOのカラムのデータ型を指定したのですが、以下の結果となっております。 INTEGER⇒× STRING⇒× NUMERIC⇒サポートしていない bigqueryのテーブルのカラムのデータ型がNUMERICの場合、 Oracleのデータをインサートすることは不可能??なのでしょうか
raccoondog

2019/04/16 11:25

2019-04-16 20:19:07.699 +0900 [ERROR] (0001:transaction): embulk-output-bigquery: failed during waiting a Copy job, get_job(yzk-gcp-project, embulk_copy_job_c7b61c97-fda1-4e0a-8f8a-154d7b68646c), errors:[{:reason=>"invalid", :message=>"Provided Schema does not match Table yzk-gcp-project:srdcs_data.T_RS_TRAN_20190416. Field ORDER_NO has changed type from NUMERIC to INTEGER"}] 2019-04-16 20:19:07.702 +0900 [INFO] (0001:transaction): embulk-output-bigquery: Delete table... yzk-gcp-project:srdcs_data.LOAD_TEMP_c158f3e0_ed82_4c48_a99c_4cab54c538a9_T_RS_TRAN_20190416 2019-04-16 20:19:07.912 +0900 [INFO] (0001:transaction): embulk-output-bigquery: delete /var/tmp/embulk_output_bigquery_20190416-11852-1bqepzi.11852.2004.csv 2019-04-16 20:19:07.912 +0900 [INFO] (0001:transaction): embulk-output-bigquery: delete /var/tmp/embulk_output_bigquery_20190416-11852-1bqepzi.11852.2006.csv 2019-04-16 20:19:07.913 +0900 [INFO] (0001:transaction): embulk-output-bigquery: delete /var/tmp/embulk_output_bigquery_20190416-11852-1bqepzi.11852.2008.csv 2019-04-16 20:19:07.913 +0900 [INFO] (0001:transaction): embulk-output-bigquery: delete /var/tmp/embulk_output_bigquery_20190416-11852-1bqepzi.11852.2010.csv 2019-04-16 20:19:07.913 +0900 [INFO] (0001:transaction): embulk-output-bigquery: delete /var/tmp/embulk_output_bigquery_20190416-11852-1bqepzi.11852.2012.csv org.embulk.exec.PartialExecutionException: org.jruby.exceptions.RaiseException: (Error) failed during waiting a Copy job, get_job(yzk-gcp-project, embulk_copy_job_c7b61c97-fda1-4e0a-8f8a-154d7b68646c), errors:[{:reason=>"invalid", :message=>"Provided Schema does not match Table yzk-gcp-project:srdcs_data.T_RS_TRAN_20190416. Field ORDER_NO has changed type from NUMERIC to INTEGER"}] 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:178) 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:64) Caused by: org.jruby.exceptions.RaiseException: (Error) failed during waiting a Copy job, get_job(yzk-gcp-project, embulk_copy_job_c7b61c97-fda1-4e0a-8f8a-154d7b68646c), errors:[{:reason=>"invalid", :message=>"Provided Schema does not match Table yzk-gcp-project:srdcs_data.T_RS_TRAN_20190416. Field ORDER_NO has changed type from NUMERIC to INTEGER"}] at RUBY.wait_load(/export/home/srdcs/.embulk/lib/gems/gems/embulk-output-bigquery-0.4.9/lib/embulk/output/bigquery/bigquery_client.rb:346) at RUBY.block in copy(/export/home/srdcs/.embulk/lib/gems/gems/embulk-output-bigquery-0.4.9/lib/embulk/output/bigquery/bigquery_client.rb:289) at RUBY.with_job_retry(/export/home/srdcs/.embulk/lib/gems/gems/embulk-output-bigquery-0.4.9/lib/embulk/output/bigquery/bigquery_client.rb:58) at RUBY.copy(/export/home/srdcs/.embulk/lib/gems/gems/embulk-output-bigquery-0.4.9/lib/embulk/output/bigquery/bigquery_client.rb:249) at RUBY.transaction(/export/home/srdcs/.embulk/lib/gems/gems/embulk-output-bigquery-0.4.9/lib/embulk/output/bigquery.rb:407) at RUBY.transaction(uri:classloader:/gems/embulk-0.9.15-java/lib/embulk/output_plugin.rb:64) Error: org.jruby.exceptions.RaiseException: (Error) failed during waiting a Copy job, get_job(yzk-gcp-project, embulk_copy_job_c7b61c97-fda1-4e0a-8f8a-154d7b68646c), errors:[{:reason=>"invalid", :message=>"Provided Schema does not match Table yzk-gcp-project:srdcs_data.T_RS_TRAN_20190416. Field ORDER_NO has changed type from NUMERIC to INTEGER"}]
raccoondog

2019/04/16 11:25

質問事項には、10000文字制限に引っかかり、直接エラーを記載させて頂きます。
hiroysato

2019/04/16 11:38

2019-4-16 16:55 追加に書いたエラーと一緒ですね。 インポート先にすでにテーブルがあって変換できないとかではないのでしょうか? Bigqueryは使っていないので詳しいことはわかりません。 > Oracleのデータをインサートすることは不可能??なのでしょうか だから、なんども申し上げているようにOracleは関係ないんです。忘れてください。 EmbulkのデータをBigqueryにどう対応させるかです。
raccoondog

2019/04/16 11:44 編集

ご指摘ありがとうございます。 bigquery側にテーブルを作成していない状況にしても embulkは、NUMERICがサポート外 bigquery側に、NUMEIRICのデータを作成させることは出来ない。のではないか。。。 という認識となります。
raccoondog

2019/04/16 20:43 編集

embulk-output-bigquery-0.4.9では、 numericがサポートされておらず 新しいバージョンで対応されるのを待つしかない。 若しくは、bigquery側で対応する という事ですね ご回答有難うございました

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
86.02%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Embulk

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

BigQuery

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

Oracle

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。