通过 JDBC 在 DataGrip 中使用 BigQuery

Using BigQuery in DataGrip with JDBC

有人能够在 JetBrains DataGrip 中使用 BigQuery 的新 JDBC 驱动程序吗?

我已经完成了这些步骤

  1. 使用所有 jar 文件在 DataGrip 中创建了一个驱动程序
  2. 创建了一个带有服务帐户文件的连接字符串的数据库

连接测试显示成功,但是当我尝试查询某些内容时,我收到错误消息:

java.lang.ClassNotFoundException: com.google.api.client.json.JsonFactory

我已将 Simba ZIP 中的以下文件添加到 DataGrip 驱动程序中:

所以我不确定下一步该做什么。我尝试在 DataGrip 中更改它们的顺序,但似乎没有什么不同。

我认为我的连接字符串看起来也不错:

jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;ProjectId=...;OAuthType=0;OAuthPvtKeyPath=...;OAuthServiceAcctEmail=...;

当工具中未正确引用驱动程序 JAR 文件时,您可能会遇到此错误。我列出了我用来通过 DataGrip 连接到 BigQuery 的步骤。

  • 通过添加 zip 中的所有 JAR 文件来添加新驱动程序。应在此步骤中从 "Class" 下拉列表中选择正确的 class 名称。
  • 通过选择新创建的 BigQuery JDBC 驱动程序添加新数据源。在此步骤中提供正确的连接 URL。
  • 如果测试连接成功,请为同一数据源创建一个新查询。
  • 确保您的查询使用正确的格式 "dataset.tablename" 并且 运行 在您刚刚测试的数据源上。

对我来说,用 Json 替换 P12 是可行的。但是,由于各种 query/incompatibility 问题,无法使用 DataGrip 或通常 JDBC 访问 BigQuery。

这个视频可以参考:https://www.youtube.com/watch?v=r9l2c_aQPoQ&ab_channel=JetBrainsTV 在 JetBrains DataGrip 中为 BigQuery 使用新的 simba jdbc 驱动程序。它一一涵盖了工作设置的所有步骤。

引用此视频的博客如下:https://blog.jetbrains.com/datagrip/2018/07/10/using-bigquery-from-intellij-based-ide/

可以在以下位置下载驱动程序:https://cloud.google.com/bigquery/providers/simba-drivers

注意:确保通过博客上的评论进行身份验证,而无需在 gcp 上创建服务帐户。

希望对您有所帮助!