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 配置目录。
您也可以使用数据库的自有驱动程序来替代提供的驱动程序。 有关使用您自己的驱动程序连接到数据库的更多信息,请参阅 向现有连接添加用户驱动程序。
如果没有 下载缺失的驱动文件 链接,则表明您已拥有所需的驱动程序。
指定数据库连接详细信息。 或者,将 JDBC URL 粘贴到 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 客户端密钥。 | |
默认数据集 | 默认数据集的名称。 |
|