Google BigQuery
启用 数据库工具和 SQL 插件
此功能依赖 数据库工具和 SQL 插件,该插件在 PyCharm 中默认随附并启用。 如果相关功能不可用,请确保未禁用该插件。
按 Ctrl+Alt+S 打开设置,然后选择 。
打开 已安装 选项卡,找到 数据库工具和 SQL 插件,并选中插件名称旁的复选框。
官方文档
有关 Google BigQuery 的完整信息,请参阅 官方文档。
开始之前
本主题介绍如何在 PyCharm 中为与 Google BigQuery 数据库的 连接 创建数据源,并运行测试连接的一般过程。 假定您已经拥有必要的连接详细信息,并且数据库已启动并正在运行。
如需了解您的 DBMS 软件,请参阅其 官方文档。
先决条件
身份验证方法 | 先决条件 |
|---|---|
Google 服务帐户 |
|
访问令牌和刷新令牌 |
|
连接到 Google BigQuery 数据库
要连接到数据库,请创建一个数据源以存储您的连接详细信息。
选择您要创建的数据源。 您可以通过以下任一方式执行此操作:
在主菜单中,转到 ,然后选择 Google BigQuery。
在 数据库 工具窗口中,点击工具栏上的
新建。 导航到 数据源 ,然后选择 Google BigQuery。

在 数据源和驱动程序 对话框右侧窗格的 常规 选项卡中,指定驱动程序和连接类型。
在 驱动程序 列表中,保留默认驱动程序选项,除非您的连接需要其他驱动程序。
在 连接类型 列表中,根据您掌握的连接详细信息选择连接类型:
默认 :使用 主机、 端口、 项目 ID、 默认数据集 和 URL 进行连接。
仅 URL :仅使用 URL 进行连接。
对于 仅 URL 连接类型 ,将按原样使用您输入的 JDBC URL,包括数据库凭据。
对于其他连接类型,JDBC URL 会被拆分为连接详细信息。 您可以分别指定这些信息并使用自动生成的 URL,也可以在相应字段中直接输入 URL。

检查连接设置区域底部是否存在 下载缺失的驱动程序文件 链接。 点击此链接下载与数据库交互所需的驱动程序。 如需直接下载链接,请参阅 JetBrains JDBC 驱动程序 页面。

下载的 JDBC 驱动程序的位置为 PyCharm 配置目录。
您也可以使用您自己的数据库驱动程序来代替提供的驱动程序。 有关使用您的驱动程序连接到数据库的更多信息,请参阅 将用户驱动程序添加到现有连接。
如果没有 下载缺失的驱动程序文件 链接,则表示您已经拥有所需的驱动程序。
指定数据库连接详细信息。 或者,在 URL 字段中粘贴 JDBC URL。
在 主机 字段中,输入服务器地址。
在 端口 字段中,输入 Google BigQuery 的端口。 默认端口为 443。
在 身份验证 下拉列表中,选择用于对该连接进行身份验证的身份验证方法。 可用的选项如下:
Google 服务帐号 :使用 Google 服务帐户电子邮件地址和服务帐户私钥文件的完整路径进行连接。
有关创建数据源的教程,请参阅 Google BigQuery 数据源:Google 服务帐户。
Google 用户帐号 :通过提供 Google 用户帐户凭据连接到服务器。 使用此方法,每次连接到数据库时都需要进行身份验证。
有关创建数据源的教程,请参阅 Google BigQuery 数据源:Google 用户帐户。
访问和刷新令牌 :使用已由 Google 授权服务器生成的访问令牌或刷新令牌进行连接。 刷新令牌还需要您的客户端 ID 和客户端密钥。 有关令牌的更多信息,请参阅 在 developers.google.com 上使用 OAuth 2.0 访问 Google API。
有关创建数据源的教程,请参阅 Google BigQuery 数据源:访问令牌和刷新令牌(OAuth 2.0)。
应用程序默认凭据 :使用通过应用默认凭据(ADC)获取的凭据进行连接。 有关 ADC 及其获取方式的更多信息,请参阅 在 cloud.google.com 上以服务帐户身份进行身份验证。
有关创建数据源的教程,请参阅 Google BigQuery 数据源:应用默认凭据。
无身份验证 :无需身份验证。
在 项目ID 字段中,输入项目的唯一标识符。
根据所选身份验证方法,指定以下连接设置:
- Google 服务帐户
服务帐户电子邮件 :您的 Google 服务帐户电子邮件地址。
密钥文件 :服务帐户私钥文件的完整路径。
- 访问令牌和刷新令牌
访问令牌 :您的访问令牌。
刷新令牌 :您的刷新令牌。
客户端ID :您的客户端 ID。
客户端密钥 :您的客户端密钥。
- 应用默认凭据
服务帐户密钥文件 :服务帐户私钥文件的完整路径。
在 默认数据集 字段中,指定要连接的默认数据集名称。
在 URL 字段中,PyCharm 生成的 JDBC URL 会自动使用其他连接设置的值。
如果您需要使用带有某些附加设置的 JDBC URL,请将其粘贴到 URL 字段中。 要使用的通用 URL 如下:
格式:
jdbc:bigquery://https://<host_address>:<port_number>;DefaultDataset=<dataset_name>示例:
jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;DefaultDataset=myDataset
有关 URL 格式的更多信息,请参阅 Google BigQuery 官方文档。

在 身份验证 下拉列表中,选择用于对该连接进行身份验证的身份验证方法。 可用的选项如下:
Google 服务帐号 :使用 Google 服务帐户电子邮件地址和服务帐户私钥文件的完整路径进行连接。
有关创建数据源的教程,请参阅 Google BigQuery 数据源:Google 服务帐户。
Google 用户帐号 :通过提供 Google 用户帐户凭据连接到服务器。 使用此方法,每次连接到数据库时都需要进行身份验证。
有关创建数据源的教程,请参阅 Google BigQuery 数据源:Google 用户帐户。
访问和刷新令牌 :使用已由 Google 授权服务器生成的访问令牌或刷新令牌进行连接。 刷新令牌还需要您的客户端 ID 和客户端密钥。 有关令牌的更多信息,请参阅 在 developers.google.com 上使用 OAuth 2.0 访问 Google API。
有关创建数据源的教程,请参阅 Google BigQuery 数据源:访问令牌和刷新令牌(OAuth 2.0)。
应用程序默认凭据 :使用通过应用默认凭据(ADC)获取的凭据进行连接。 有关 ADC 及其获取方式的更多信息,请参阅 在 cloud.google.com 上以服务帐户身份进行身份验证。
有关创建数据源的教程,请参阅 Google BigQuery 数据源:应用默认凭据。
无身份验证 :无需身份验证。
在 项目ID 字段中,输入项目的唯一标识符。
根据所选身份验证方法,指定以下连接设置:
- Google 服务帐户
服务帐户电子邮件 :您的 Google 服务帐户电子邮件地址。
密钥文件 :服务帐户私钥文件的完整路径。
- 访问令牌和刷新令牌
访问令牌 :您的访问令牌。
刷新令牌 :您的刷新令牌。
客户端ID :您的客户端 ID。
客户端密钥 :您的客户端密钥。
- 应用默认凭据
服务帐户密钥文件 :服务帐户私钥文件的完整路径。
在 URL 字段中,PyCharm 生成的 JDBC URL 会自动使用其他连接设置的值。
如果您需要使用带有某些附加设置的 JDBC URL,请将其粘贴到 URL 字段中。 要使用的通用 URL 如下:
格式:
jdbc:bigquery://https://<host_address>:<port_number>;DefaultDataset=<dataset_name>示例:
jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;DefaultDataset=myDataset
有关 URL 格式的更多信息,请参阅 Google BigQuery 官方文档。

有关在 常规 以及 数据源和驱动程序 对话框(Shift+Enter )的其他选项卡上的连接设置和属性的参考信息,请参见 连接设置和 DBMS 特定属性。
确保可以使用提供的详细信息建立数据库连接。 为此,请点击连接详细信息部分底部的 测试连接 链接。

如果遇到任何连接问题,请参阅 无法连接到数据库 页面。
(可选)默认情况下,仅内省默认项目和数据集,并可供使用。 如果还希望使用其他项目和数据集,请在 架构 选项卡中选择它们进行内省。

点击 确定 创建数据源。
在 数据库 工具窗口中找到您的新数据源。
连接设置和 DBMS 特定属性
连接设置
有关在 数据源和驱动程序 对话框(Shift+Enter )的 常规 及其他选项卡上的连接设置(例如, 主机、 端口 等)的参考信息,请参见 数据源。
DBMS 特定属性
常规选项卡
项 | 描述 | 身份验证方法 |
|---|---|---|
项目ID | 项目的唯一标识符。 |
|
服务帐户电子邮件 | Google 服务帐户电子邮件地址。 | Google 服务帐号 |
密钥文件 和 服务帐户密钥文件 | 服务帐户私钥文件的完整路径。 |
|
访问令牌 | 生成的访问令牌。 | 访问和刷新令牌 |
刷新令牌 | 生成的刷新令牌。 | |
客户端ID | 生成的 Google 客户端 ID。 | |
客户端密钥 | 生成的 Google 客户端密钥。 | |
默认数据集 | 默认数据集的名称。 |
|