简体   繁体   English

使用 Google 的 Dataflow 时尝试使用 JDBC 到 BigQuery 模板时出现异常

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

I'm trying to use Google's Dataflow using the JDBC to BigQuery template to extract information from Salesforce into BigQuery .我正在尝试使用 Google 的 Dataflow 使用 JDBC to BigQuery模板将信息从Salesforce提取到BigQuery The JDBC Driver I am using is Progress' DataDirect JDBC Driver for Salesforce .我使用的 JDBC 驱动程序是Progress' DataDirect JDBC Driver for Salesforce

I've confirmed that I can connect to Salesforce using the driver locally.我已经确认我可以在本地使用驱动程序连接到 Salesforce。

Unfortunately when I create a Job within Dataflow using the driver I get the following exception:不幸的是,当我使用驱动程序在 Dataflow 中创建作业时,出现以下异常:

java.lang.RuntimeException: org.apache.beam.sdk.util.UserCodeException: java.sql.SQLException: Cannot get a connection, pool error Unable to activate object java.lang.RuntimeException:org.apache.beam.sdk.util.UserCodeException:java.sql.SQLException:无法获得连接,池错误无法激活对象

I can provide a stack trace if necessary.如有必要,我可以提供堆栈跟踪。

I've configured the template as follows (where values within <> are set appropriately):我已按如下方式配置模板(其中 <> 中的值已适当设置):

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

I'm hoping that someone familiar with this use case will be able to help me determine why I'm getting this exception and how I can go about resolving it.我希望熟悉此用例的人能够帮助我确定为什么会出现此异常以及如何解决它。 My working assumptions are that I'm using the driver incorrectly, I need to add additional drivers to GCS, or there is an issue connecting to Salesforce through Dataflow.我的工作假设是我错误地使用了驱动程序,我需要向 GCS 添加其他驱动程序,或者通过 Dataflow 连接到 Salesforce 时出现问题。

Edit:编辑:

The JDBC driver from Progress that I am using is version 6.0.我使用的 Progress 的 JDBC 驱动程序是 6.0 版。 I'm unsure which version of the Dataflow SDK is being used when I use the UI but when I have tried working with the Google Dataflow SDK locally it looks like I'm using version 2.5.0 based on the pom.xml.我不确定在使用 UI 时使用的是哪个版本的 Dataflow SDK,但是当我尝试在本地使用 Google Dataflow SDK 时,看起来我使用的是基于 pom.xml 的 2.5.0 版。

I didn't find any relevant issue between the JDBC and Dataflow versions, so I will suggest to take a look on the following tutorials from Progress website to understand if you are using the driver correctly:我没有发现 JDBC 和 Dataflow 版本之间有任何相关问题,因此我建议您查看 Progress 网站上的以下教程,以了解您是否正确使用了驱动程序:

  1. Setting Google Cloud Dataflow SDK 设置 Google Cloud Dataflow SDK
  2. Import data from Salesforce into Google Bigquery using Dataflow 使用 Dataflow 将数据从 Salesforce 导入 Google Bigquery

and if the exception persist, please create an issue with GCP following this guide如果异常仍然存在,请按照本指南创建 GCP 问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 使用 ValueProvider 从 Dataflow 模板读取 BigQuery 时出现异常 - Exception when reading BigQuery from Dataflow template using ValueProvider 如何使用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? 多次使用暂存模板进行部署时,Dataflow 作业使用相同的 BigQuery 作业 ID? - Dataflow job uses same BigQuery job ID when deploying using a staged template multiple times? 使用 dataflow flex 模板 python 时,必须在此系统上安装 Java 才能使用它 - Java must be installed on this system to use this when using dataflow flex template python 尝试使用准备好的语句占位符作为聚合的参数时出现 JDBC 异常 function - JDBC exception when trying to use a prepared statement placeholder as an argument to an aggregation function Dataprep-输出为BigQuery时,数据流失败 - Dataprep - Dataflow fails when output is BigQuery 使用 JDBC 模板无法访问数据库时出现 SQLNonTransientConnectionException - SQLNonTransientConnectionException when database is unreachable using JDBC template 使用JDBC驱动程序连接到Sybase时发生异常 - Exception when connecting to Sybase using JDBC Driver 在 Google Dataflow 中使用 Google Maps Geocode API 时网络无法访问 - Network unreachable when using Google Maps Geocode API in Google Dataflow 使用DataFlow从多个PubSub主题流到BigQuery时,邮件卡在GBP中吗? - Messages stuck in GBP when streaming from multiple PubSub topics to BigQuery using DataFlow?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM