保存和共享查询

本页介绍了如何保存和共享查询。保存或共享的查询仅包含查询本身,这意味着:

  • 共享的查询仅提供查询文本。您仍需要具有相应的访问权限才能查询数据。仅保存查询文本的一个好处是,您可以共享不完整的查询(即使它不是有效查询),并可以将其用作模板,以供其他用户完成或自定义。

  • 保存的查询唯一保留的一个查询选项是“SQL 版本”,它控制查询使用旧版 SQL 还是标准 SQL。

保存的查询有以下 3 种类型:

  • 不公开:保存的不公开查询仅对创建它们的用户可见。
  • 项目级层:已保存的项目级层查询对被指定了具有所需权限的预定义 BigQuery IAM 角色的成员可见。
  • 公开:保存的公开查询对知道查询链接的所有人可见。

权限

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

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

如需详细了解 BigQuery 中的 IAM 角色,请参阅访问权限控制

创建不公开的保存查询

保存查询并将公开范围设置为不公开后,只有您可以对其执行查看、更新或删除操作。

要创建不公开的共享查询,请按如下所述操作:

Console

  1. 在 GCP Console 中打开 BigQuery 网页界面。
    转到 BigQuery 网页界面

  2. 点击编写新查询

  3. 查询编辑器文本区域中输入有效的 BigQuery SQL 查询。例如,您可以使用网页界面快速入门中的查询。

    #standardSQL
    # Find highest birth weights
    SELECT
     weight_pounds, state, year, gestation_weeks
    FROM
     `bigquery-public-data.samples.natality`
    ORDER BY weight_pounds DESC LIMIT 10;
  4. 点击保存查询

  5. 保存查询对话框中,输入查询的名称,再将公开范围设置为个人(仅可由您修改),然后点击保存

    将查询保存为不公开状态

  6. 要查看已保存的查询,请单击已保存的查询。默认情况下,系统应打开个人查询页面。

  7. 点击已保存的查询名称,以将其展开。

  8. 点击共享查询网址,以访问可共享的链接并将该链接复制到剪贴板。或者,您也可以通过查询编辑器文本区域上方的链接共享按钮图标访问该链接。

  9. 与团队中的其他成员共享该链接。

经典版界面

  1. 转到 BigQuery 网页界面。
    转到 BigQuery 网页界面

  2. 点击 Compose query

  3. New Query 文本区域中输入 SQL 查询。例如,您可以使用传统版网页界面快速入门中的查询。

    #standardSQL
    SELECT
     weight_pounds, state, year, gestation_weeks
    FROM
     `bigquery-public-data.samples.natality`
    ORDER BY weight_pounds DESC LIMIT 10;
  4. 点击 Save Query,以打开 Save Query 对话框。

  5. Save Query 对话框中,为保存的查询输入名称,将 Visibility 设置为 Private (Visible only to you),然后点击 OK

    保存查询对话框

  6. 要查看保存的查询,请务必选中左侧导航栏中的 Query History,然后点击 Queries 部分的 Saved Queries

    保存查询列表

共享已保存的查询

要共享查询,请在保存查询时将公开范围设置为项目公开。如果将公开范围设置为“项目”,拥有所需权限的预定义 BigQuery IAM 角色成员可以查看、更新或删除该查询。

如果将公开范围设置为“公开”,知道查询链接的任何人都可以查看该查询,但无法执行更新或删除操作。要运行查询,用户必须有权访问相应查询所访问的数据。如需了解详情,请参阅控制对数据集的访问

共享查询时,不妨考虑添加描述查询的评论,如下文的示例所示。

创建项目级层的保存查询

要与项目的其他成员共享查询,请按如下所述操作:

Console

  1. 在 GCP Console 中打开 BigQuery 网页界面。
    转到 BigQuery 网页界面

  2. 点击编写新查询

  3. 查询编辑器文本区域中输入有效的 BigQuery SQL 查询。例如,您可以使用网页界面快速入门中的查询。

    #standardSQL
    # Find highest birth weights
    SELECT
     weight_pounds, state, year, gestation_weeks
    FROM
     `bigquery-public-data.samples.natality`
    ORDER BY weight_pounds DESC LIMIT 10;
  4. 点击保存查询

  5. 保存查询对话框中,输入查询的名称,再将公开范围设置为项目(可由项目成员修改),然后点击保存

    保存查询项目

  6. 要查看已保存的查询,请点击左侧导航窗格中的已保存的查询,然后点击项目查询

    “项目查询”标签页

  7. 点击已保存的查询名称,以将其展开。

  8. 点击共享查询网址,以访问可共享的链接并将该链接复制到剪贴板。或者,您也可以通过查询编辑器文本区域上方的链接共享按钮图标访问该链接。

  9. 与团队中的其他成员共享该链接。

经典版界面

  1. 转到 BigQuery 网页界面。
    转到 BigQuery 网页界面

  2. 点击 Compose Query

  3. New Query 文本区域中输入 SQL 查询。例如,您可以使用传统版网页界面快速入门中的查询。

    #standardSQL
    # Find highest birth weights
    SELECT
     weight_pounds, state, year, gestation_weeks
    FROM
     `bigquery-public-data.samples.natality`
    ORDER BY weight_pounds DESC LIMIT 10;
  4. 点击 Save Query,以打开 Save Query 对话框。

  5. Save Query 对话框中,为保存的查询输入名称,将 Visibility 设置为 Project (Project members can view and edit),然后点击 OK

    共享查询项目

  6. 要查看保存的查询,请务必选中左侧导航栏中的 Query History,然后点击 Queries 部分的 Project Queries

    项目查询列表

  7. 点击已保存的查询名称,以将其展开。

    展开的项目查询

  8. 点击 Share Link 以访问可共享的链接,并将相应链接复制到剪贴板。

    项目查询共享链接

    或者,您可以通过 New Query 文本区域上方的链接图标访问相应链接。

    查询链接图标

  9. 与团队中的其他成员共享链接。

创建公开的保存查询

要与所有人共享查询,请按如下所述操作:

Console

目前,GCP Console 不支持创建已保存的公开查询。

经典版界面

  1. 转到 BigQuery 网页界面。
    转到 BigQuery 网页界面

  2. 点击 Compose Query

  3. New Query 文本区域中输入 SQL 查询。例如,您可以使用传统版网页界面快速入门中的查询。

    #standardSQL
    # Find highest birth weights
    SELECT
     weight_pounds, state, year, gestation_weeks
    FROM
     `bigquery-public-data.samples.natality`
    ORDER BY weight_pounds DESC LIMIT 10;
  4. 点击 Save Query,以打开 Save Query 对话框。

  5. Save Query 对话框中,为已保存的查询输入名称,将 Visibility 设置为 Public (Anyone with the link can view, but not edit),然后点击 OK

    共享公开查询

  6. 要查看保存的查询,请务必选中左侧导航栏中的 Query History,然后点击 Queries 部分的 Saved Queries

    已保存的公开查询列表

  7. 点击已保存的公开查询的名称,以将其展开。

    展开的公开查询

  8. 点击 Share Link 以访问可共享的链接,并将相应链接复制到剪贴板。

    公开查询共享链接

    或者,您可以通过 New Query 文本区域上方的链接图标访问相应链接。

    公开查询链接图标

  9. 共享链接。

更新已保存的查询

要更新已保存的查询,请按如下所述操作:

Console

  1. 在 GCP Console 中打开 BigQuery 网页界面。
    转到 BigQuery 网页界面

  2. 点击左侧导航栏中的已保存的查询,然后点击个人查询(如果要修改不公开的查询)或项目查询(如果要修改项目级层查询)。点击您的查询以将其展开。

  3. 点击该查询右侧的在编辑器中打开查询

    更新查询

  4. 修改该查询。

  5. 点击保存查询,以更新该查询而不更改其名称。如果您想要更改查询名称,请点击保存查询旁边的向下箭头,然后选择另存为,并根据需要在对话框中进行更新。

经典版界面

  1. 转到 BigQuery 网页界面。
    转到 BigQuery 网页界面

  2. 点击左侧导航栏中的 Query History,然后在 Queries 部分,点击 Saved Queries(以修改不公开查询)或 Project Queries(以修改项目级层查询或公开查询)。

    项目查询列表

  3. 在相应查询右侧,点击 Edit Query

    “修改查询”按钮

  4. 修改查询。

  5. 点击 Save Query,以打开 Save Query 对话框。

  6. Save Query 对话框中,保持名称不变,然后点击 OK

删除已保存的查询

要删除已保存的查询,请按如下所述操作:

Console

  1. 在 GCP Console 中打开 BigQuery 网页界面。
    转到 BigQuery 网页界面

  2. 点击左侧导航栏中的已保存的查询,然后点击个人查询(如果要删除不公开的查询)或项目查询(如果要删除项目级层查询)。点击您的查询以将其展开。

  3. 点击该查询右侧的删除

    删除查询

  4. 当系统提示时,点击删除以确认删除该查询。

经典版界面

  1. 转到 BigQuery 网页界面。
    转到 BigQuery 网页界面

  2. 点击左侧导航栏中的 Query History

  3. 在查询的右侧,点击 Delete saved query 按钮 (X)。

  4. 当系统提示时,点击 OK 以确认删除该查询。

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
需要帮助?请访问我们的支持页面