创建已保存的查询

在查询编辑器中编写 SQL 时,您可以保存查询并与他人共享查询。已保存的查询是由 Dataform 提供支持的 BigQuery Studio 代码资产。

如需详细了解如何删除已保存的查询和管理已保存的查询历史记录,请参阅管理已保存的查询

所需权限

设置用于创建、修改或查看已保存查询的适当权限。

具有 Dataform Admin (roles/dataform.admin) 角色的所有用户都可以访问在项目中创建的所有已保存查询。

如需详细了解 BigQuery Identity and Access Management (IAM),请参阅使用 IAM 进行访问权限控制

用于创建已保存查询的权限

如需创建和运行已保存的查询,您需要以下 IAM 权限:

  • dataform.locations.get
  • dataform.locations.list
  • dataform.repositories.list
  • dataform.repositories.create

您可以从以下 IAM 角色获取这些权限:

用于修改已保存查询的权限

如需修改和运行已保存的查询,您需要以下 IAM 角色:

用于查看已保存查询的权限

如需查看和运行已保存的查询,您需要以下 IAM 角色:

设置代码资源的默认区域

如果这是您第一次创建代码资源,您应设置代码资源的默认区域。代码资源创建后,便无法更改该区域。

BigQuery Studio 中的所有代码资源都使用相同的默认区域。 如需为代码资源设置默认区域,请按以下步骤操作:

  1. 转到 BigQuery 页面。

    转到 BigQuery

  2. 探索器窗格中,找到启用了代码资源的项目。

  3. 点击项目旁边的 查看操作,然后点击更改我的默认代码区域

  4. 对于区域,选择您要用于代码资源的区域。

  5. 点击选择

如需查看支持的区域列表,请参阅 BigQuery Studio 位置

创建已保存的查询

如需创建已保存的查询,请按照下列步骤操作:

  1. 在 Google Cloud 控制台中,前往 BigQuery 页面。

    转到 BigQuery

  2. 点击 SQL 查询

  3. 在查询编辑器中,输入有效的 SQL 查询。 例如,您可以查询公共数据集

    SELECT
      name,
      SUM(number) AS total
    FROM
      `bigquery-public-data.usa_names.usa_1910_2013`
    GROUP BY
      name
    ORDER BY
      total DESC
    LIMIT
      10;

    或者,您也可以使用参考面板来构建新查询。

  4. 点击 保存 > 保存查询,或按 Control+S(在 macOS 上,按 Command+S)。

  5. 保存查询对话框中,为已保存的查询输入一个名称。

  6. 可选:如需更改此已保存的查询将来使用的区域以及所有其他代码资源,请在区域中选择一个新区域。

  7. 点击保存

    已创建保存的查询的第一个版本。

  8. 可选:保存查询后,您可以使用以下工具栏查看查询详细信息或版本历史记录、添加新评论或是回复现有评论或获取指向现有评论的链接:

    查询编辑器旁边的工具栏。

    详细信息版本历史记录评论工具栏功能处于预览版阶段。如需就这些功能提供反馈或请求支持,请发送邮件至 bqui-workspace-pod@google.com

共享已保存的查询

如需与用户共享已保存的查询,您需要先为该用户授予对已保存的查询的访问权限,然后将其添加到相应的 IAM 角色。然后,您可以生成指向已保存的查询的链接,并与用户共享该链接。

您与之共享查询的用户只能看到查询的最新版本。您尚未明确保存的自动保存更改不会显示在共享查询中。

  1. 在 Google Cloud 控制台中,前往 BigQuery 页面。

    转到 BigQuery

  2. 探索器窗格中,展开您的项目和查询文件夹,然后根据需要展开共享查询文件夹。找到您要授予其访问权限的已保存的查询,然后点击该查询。

  3. 点击 共享,然后点击管理权限

  4. 管理权限窗格中,点击添加用户/群组

  5. 新的主账号字段中,输入主账号。

  6. 角色列表中,选择以下角色之一:

    • Code Owner:可以对已保存的查询执行任何操作,包括删除或共享已保存的查询。
    • Code Editor:可以修改查询。
    • Code Viewer:可以查看查询。
  7. 可选:如需查看角色和高级共享设置的完整列表,请点击高级共享

  8. 点击保存

  9. 如需恢复为已保存的查询信息,请点击关闭

  10. 如需生成指向已保存的查询的链接,请点击 共享,然后点击获取链接

    该链接会复制到剪贴板。

将已保存的查询版本作为新查询打开

如需将现有已保存的查询的任何版本作为新查询打开,请按照以下步骤操作:

  1. 在 Google Cloud 控制台中,前往 BigQuery 页面。

    转到 BigQuery

  2. 探索器窗格中,展开您的项目和查询文件夹,然后根据需要展开共享查询文件夹。选择已保存的查询。

  3. 点击 版本历史记录

  4. 点击已保存的查询版本旁边的 查看操作,然后点击作为新查询打开

更新已保存的查询

您对保存的查询的文本所做的更改会在停止输入内容后两秒自动保存,并以您的更改的形式显示在版本记录中。自动保存的更改不是查询的新版本。 自动保存的更改会在您每次打开查询时重新显示,但其他人均看不到,除非您明确将其保存为查询的新版本。自动保存的查询处于预览版阶段。

  1. 在 Google Cloud 控制台中,前往 BigQuery 页面。

    转到 BigQuery

  2. 探索器窗格中,展开您的项目和查询文件夹,然后根据需要展开共享查询文件夹。点击已保存的查询名称将其打开。

  3. 修改查询。

  4. 如需保存修改的查询,请点击 保存查询 > 保存查询,或按 Control+S(在 macOS 上,按 Command+S)。

    系统会创建查询的新版本。

上传已保存的查询

您可以上传本地 SQL 查询,以便在 BigQuery Studio 中将其用作已保存的查询。上传的保存的查询随后也会显示在 Google Cloud 控制台的 BigQuery 页面中。

如需上传已保存的查询,请按照以下步骤操作:

  1. 在 Google Cloud 控制台中,前往 BigQuery 页面。

    转到 BigQuery

  2. 探索器窗格中,展开您的项目,然后执行以下操作之一:

    • 查询旁边,点击 查看操作 > 上传 SQL 查询
    • 在 Google Cloud 项目名称旁边,依次点击 查看操作 > 上传到项目 > SQL 查询
  3. 上传 SQL 对话框的 SQL 字段中,点击浏览,然后选择要上传的查询。

  4. 可选:在 SQL 名称字段中,修改查询的名称。

  5. 区域字段中,选择要在其中上传已保存的查询的区域。

  6. 点击上传

您已保存的查询会显示在探索器窗格中。

传统版已保存的查询

请参阅以下部分,了解如何创建和更新传统版已保存的查询。如需详细了解如何共享、迁移和删除传统版已保存的查询,请参阅传统版已保存的查询

传统版已保存查询的必需权限

必须拥有以下 IAM 权限才能创建、查看、更新和删除传统版已保存的查询:

  • 不公开的传统版已保存的查询:
    • 创建不公开的传统版已保存的查询无需任何特殊权限。您可以在任何项目中保存不公开的查询,但只有您才能查看、更新或删除它们。
  • 项目级传统版已保存的查询:
    • 创建项目级传统版已保存的查询需要具有 bigquery.savedqueries.create 权限。bigquery.admin 预定义角色可提供 bigquery.savedqueries.create 权限。
    • 查看项目级传统版已保存的查询需要具有 bigquery.savedqueries.getbigquery.savedqueries.list 权限。 bigquery.adminbigquery.user 预定义角色可提供 bigquery.savedqueries.getbigquery.savedqueries.list 权限。
    • 更新项目级传统版已保存的查询需要具有 bigquery.savedqueries.update 权限。bigquery.admin 预定义角色可提供 bigquery.savedqueries.update 权限。
    • 删除项目级传统版已保存的查询需要具有 bigquery.savedqueries.delete 权限。bigquery.admin 预定义角色可提供 bigquery.savedqueries.delete 权限。
  • 公开的传统版已保存的查询:
    • 创建公开的传统版已保存的查询无需任何特殊权限。您可以在任何项目中保存公开的传统版已保存的查询,但只有您才能更新或删除它们。知道链接的任何人都可以查看公开的传统版已保存的查询。

如需详细了解 BigQuery 中的 IAM 角色,请参阅预定义的角色和权限

创建传统版已保存查询

  1. 在 Google Cloud 控制台中,前往 BigQuery 页面。

    转到 BigQuery

  2. 点击 SQL 查询

  3. 在查询编辑器中,输入有效的 SQL 查询。 例如,您可以查询公共数据集

    SELECT
      name,
      SUM(number) AS total
    FROM
      `bigquery-public-data.usa_names.usa_1910_2013`
    GROUP BY
      name
    ORDER BY
      total DESC
    LIMIT
      10;
  4. 点击 保存查询(经典版)> 保存查询(经典版)

  5. 保存查询对话框中,为您的查询输入一个名称,然后将公开范围设置为以下选项之一:

    • 个人(只能由您修改),用于不公开的传统版共享查询。
    • 项目(可由拥有相应权限的主账号修改),用于项目级传统版已保存的查询。
    • 公开,用于公开的传统版已保存的查询。
  6. 点击保存

共享传统版已保存查询

您可以共享公开范围为“项目”或“公开”的传统版查询。如果将公开范围设置为“项目”,则其具备所需权限的主账号可以查看、更新或删除该查询。如果将公开范围设置为“公开”,则任何知道查询链接的人员都可以查看该查询,但无法执行更新或删除操作。

您可以通过生成并共享指向传统版已保存查询的链接来与其他用户共享传统版已保存查询。

如需运行传统版共享查询,用户必须有权访问相应查询所访问的数据。如需了解详情,请参阅授予对数据集的访问权限

如果您打算共享传统版已保存查询,请考虑在查询中添加描述其用途的注释。

  1. 探索器窗格中,展开您的项目和(传统版)查询文件夹,然后找到您要共享的传统版已保存查询。
  2. 点击查询旁边的 查看操作,然后点击获取链接
  3. 与要授予查询访问权限的用户共享链接。

更新传统版已保存查询

  1. 在 Google Cloud 控制台中,前往 BigQuery 页面。

    转到 BigQuery

  2. 探索器窗格中,展开您的项目和(传统版)查询文件夹,然后根据需要展开项目查询文件夹。

  3. 点击一个传统版保存的查询的名称以将其打开。

  4. 修改查询。

  5. 如需保存修改后的查询,请点击 保存查询(经典版)> 保存查询(经典版)

后续步骤