簡體   English   中英

使用 Google 的 Dataflow 時嘗試使用 JDBC 到 BigQuery 模板時出現異常

[英]Exception when trying to use JDBC to BigQuery template when using Google's Dataflow

我正在嘗試使用 Google 的 Dataflow 使用 JDBC to BigQuery模板將信息從Salesforce提取到BigQuery 我使用的 JDBC 驅動程序是Progress' DataDirect JDBC Driver for Salesforce

我已經確認我可以在本地使用驅動程序連接到 Salesforce。

不幸的是,當我使用驅動程序在 Dataflow 中創建作業時,出現以下異常:

java.lang.RuntimeException:org.apache.beam.sdk.util.UserCodeException:java.sql.SQLException:無法獲得連接,池錯誤無法激活對象

如有必要,我可以提供堆棧跟蹤。

我已按如下方式配置模板(其中 <> 中的值已適當設置):

Regional endpoint: us-central1
JDBC connection URL string: jdbc:datadirect:sforce://path.to.salesforce.com;SecurityToken=<Security Token>;User=<User>;Password=<Password>
JDBC driver class name: com.ddtek.jdbc.sforce.SForceDriver
JDBC source SQL query: SELECT Email FROM LEAD;
BigQuery output table: <project>:<dataset>.<table_name>
GCS paths for JDBC drivers: gs://<some_bucket>/sforce.jar
Temporary directory for BigQuery loading process: gs://<some_bucket>/staging
Temporary location: gs://<some_bucket>/tmp

我希望熟悉此用例的人能夠幫助我確定為什么會出現此異常以及如何解決它。 我的工作假設是我錯誤地使用了驅動程序,我需要向 GCS 添加其他驅動程序,或者通過 Dataflow 連接到 Salesforce 時出現問題。

編輯:

我使用的 Progress 的 JDBC 驅動程序是 6.0 版。 我不確定在使用 UI 時使用的是哪個版本的 Dataflow SDK,但是當我嘗試在本地使用 Google Dataflow SDK 時,看起來我使用的是基於 pom.xml 的 2.5.0 版。

我沒有發現 JDBC 和 Dataflow 版本之間有任何相關問題,因此我建議您查看 Progress 網站上的以下教程,以了解您是否正確使用了驅動程序:

  1. 設置 Google Cloud Dataflow SDK
  2. 使用 Dataflow 將數據從 Salesforce 導入 Google Bigquery

如果異常仍然存在,請按照本指南創建 GCP 問題

暫無
暫無

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

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