簡體   English   中英

如何使用Dataflow的jdbc to Bigquery模板將數據從Oracle 11g第2版傳輸到Bigquery?

[英]How to transfer data from Oracle 11g release 2 to Bigquery using Dataflow's jdbc to Bigquery template?

我一直在尋找數據傳輸服務來從Oracle 11g第2版數據庫中傳輸數據。 我遇到了一些經過測試的第三方解決方案,效果很好。

但! 我想使用純粹的第一方解決方案。 因此,我調查了一下,發現了Dataflow。

數據流已經有一些模板,我可以用它來傳輸數據。

我選擇了“ jdbc to bigquery”模板。

它具有一些必需的參數和可選的參數

必需:jdbc連接URL,驅動程序類名稱,源sql查詢,bigquery輸出表,jdbc驅動程序的GCS路徑,bigquery加載過程的臨時目錄,臨時位置

可選:jdbc用戶名,jdbc密碼

我在計算引擎中設置了一個VM,以托管Oracle 11g第2版DB。 我創建了一個數據庫“數據庫”,添加了一個表“ table1”和其中的一些行。

我在數據流中使用以下參數創建了一個作業:

jdbc連接URL: jdbc:oracle:thin:@VMinternalIP:1521:database

驅動程序類名稱: oracle.jdbc.driver.OracleDriver

源sql查詢: select * from database.table1

bigquery輸出表: <testproject-0122>:<testdataset>.<table1>

jdbc驅動程序的GCS路徑: gs://testbucket/jdbc/ojdbc6.jar,gs://testbucket/jdbc/ojdbc5.jar,gs://testbucket/jdbc/ons.jar,gs://testbucket/jdbc/orai18n.jar,gs://testbucket/jdbc/simplefan.jar,gs://testbucket/jdbc/ucp.jar,gs://testbucket/jdbc/xdb6.jar

bigquery加載過程的臨時目錄: gs://testbucket/temporary

臨時位置: gs://testbucket/temporary/amkortmp

jdbc用戶名: username for oracle db用戶username for oracle db

jdbc密碼: password for oracle db

但是,這項工作失敗了,並引發了五個錯誤。

作業狀態:從jdbcIO讀取失敗,寫入bigquery失敗,成功刪除輸入

五個錯誤中的四個顯示以下錯誤:

編輯:我更新了我的網址,沒有連接錯誤,但是現在出現以下錯誤:

ava.sql.SQLSyntaxErrorException:ORA-00942:表或視圖不存在

我可以看到該表在Oracle中。 那是架構錯誤嗎?

我使用此Dataflow模板有什么錯?

我終於找到了答案。

首先,查詢對表的引用是錯誤的。

正確格式select * from table1

BigQuery表引用錯誤

正確格式project_ID:dataset_ID.table_ID

更正此問題,使其生效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM