Google BigQuery

概览

本页介绍如何在 Looker 中连接到 Google BigQuery 标准 SQL 或 Google BigQuery 旧版 SQL。

设置 Google BigQuery 标准 SQL 或 Google BigQuery 旧版 SQL 连接的一般步骤如下:

  1. 在您的 BigQuery 数据库中配置 Looker 将用于访问 BigQuery 数据库的身份验证机制。Looker 支持以下 BigQuery 身份验证选项:

  2. 如需在 BigQuery 数据库中使用永久性派生表 (PDT),请创建临时数据集,供 Looker 用于通过数据库创建 PDT。请参阅本页面上的为永久性派生表创建临时数据集部分,了解具体操作过程。

  3. 在 Looker 中,设置 Looker 与 BigQuery 数据库的连接。请参阅本页面上的将 Looker 连接到 BigQuery 部分,了解具体操作过程。

  4. 在 Looker 中,测试 Looker 与 BigQuery 数据库之间的连接。请参阅本页面的测试连接部分,了解具体步骤。

使用 BigQuery 服务帐号进行身份验证

Looker 向 BigQuery 数据库进行身份验证的一种方式是使用 BigQuery 服务帐号。您可以使用 Google Cloud 控制台中的 API 管理器在 BigQuery 数据库中创建服务帐号。您必须拥有 Google Cloud 管理员权限才能创建服务帐号。Google 提供了有关如何创建服务帐号生成私钥的文档。

创建服务帐号并下载 JSON 凭据证书

请按照以下步骤创建 BigQuery 服务帐号:

  1. Google Cloud 控制台的 API 管理器中打开凭据页面,然后选择您的项目。

  2. 选择创建凭据,然后选择服务帐号

  3. 输入新服务帐号的名称,(可选)添加说明,然后选择创建并继续

  4. 您的服务帐号需要两个 Google BigQuery 预定义角色

    • BigQuery > BigQuery 数据编辑器
    • BigQuery > BigQuery 作业用户

    选择选择角色字段中的第一个角色,选择添加其他角色,然后选择第二个角色。

    选择这两个角色后,选择继续,然后选择完成

  5. 凭据页面中,选择新的服务帐号:

  6. 选择密钥,然后选择添加密钥,再从下拉菜单中选择创建新密钥

  7. 密钥类型下选择 JSON,然后选择创建

  8. 该 JSON 密钥将保存到您的计算机上。

    记下下载位置后,选择关闭

  9. 选择完成

  10. 找到与服务帐号对应的电子邮件地址。您需要将此地址配置为配置与 BigQuery 的 Looker 连接:

  11. 在 BigQuery 数据库中创建服务帐号后,在设置 Looker 与 BigQuery 的连接时,您需要在 Looker 的连接窗口的服务帐号电子邮件地址服务帐号 JSON/P12 文件密码字段中输入此服务帐号信息和证书文件。

使用 OAuth 进行身份验证

Looker 支持用于 Google BigQuery 连接的 OAuth,这意味着每个 Looker 用户都会使用自己的 Google OAuth 凭据向 Google 进行身份验证,并授权 Looker 访问数据库。

通过 OAuth,数据库管理员可以执行以下功能:

  • 审核哪些 Looker 用户对数据库运行查询
  • 使用 Google 权限强制执行基于角色的访问权限控制
  • 请为访问 Google BigQuery 的所有流程和操作使用 OAuth 令牌,而不是在多个位置嵌入 BigQuery ID 和密码

对于使用 OAuth 的 BigQuery 连接:

  • 如果数据库管理员更改了 BigQuery OAuth 客户端凭据,则用户拥有的任何时间表或提醒都会受到影响。如果用户的管理员更改了 BigQuery OAuth 凭据,他们必须重新登录。用户还可从用户个人资料帐号页面转到 Looker 帐号页面,以登录 Google。
  • 由于使用 OAuth 的 BigQuery 连接是“按用户”的,因此缓存政策也是按用户,而不仅仅是按查询进行。这意味着,只有在缓存期间同一用户运行相同的查询时,Looker 才会使用缓存的结果,而不是在缓存期间运行同一查询。如需详细了解缓存,请参阅缓存查询文档页面。
  • 如果您想要通过 OAuth 使用 BigQuery 连接的永久性派生表 (PDT),则必须为 Looker 创建额外的服务帐号,以便其访问您的数据库来执行 PDT 流程。如需了解详情,请参阅本页面上的 BigQuery 连接的永久性派生表部分。
  • 管理员以其他用户的身份执行该操作时,会使用该用户的 OAuth 授权令牌。如需了解如何使用 sudo 命令,请参阅用户文档页面。

为 OAuth 配置 BigQuery 数据库项目

以下各部分介绍了如何生成 OAuth 凭据以及如何配置 OAuth 权限请求页面。如果您已经为项目中的其他应用配置 OAuth 权限请求页面,则无需创建另一个权限请求,只需为项目中的所有应用配置一个权限请求页面。

必须在 Google Cloud 控制台中配置 OAuth 凭据和 OAuth 权限请求页面。如需查看 Google 一般说明,请访问 Google Cloud 支持网站和 Google Developers Console 网站。

根据在 Looker 中访问 BigQuery 数据的用户类型以及您的 BigQuery 数据是公开数据还是私密数据,OAuth 可能不是最合适的身份验证方法。同样,当用户请求对 Google 进行身份验证以使用 Looker 时,所请求的数据类型和该用户的数据所需的访问权限级别可能需要通过 Google 验证。请参阅本页面的生成 Google OAuth 凭据部分,详细了解验证。

生成 Google OAuth 凭据

  1. 前往 Google Cloud 控制台

  2. 选择项目下拉菜单中,导航到您的 BigQuery 项目。您会转到项目信息中心。

  3. 在左侧菜单中,选择 API 和服务页面。然后选择凭据。在凭据页面上,选择创建凭据按钮中的下拉箭头,然后从下拉菜单中选择 OAuth 客户端 ID

  4. Google 会要求您配置 OAuth 权限请求页面,该屏幕让您的用户能够选择如何授权应用访问其私密数据,然后您才能生成 OAuth 凭据。如需配置 OAuth 权限请求页面,请参阅本页面上的配置 OAuth 权限请求页面部分。

  5. 如果您已配置 OAuth 权限请求页面,Google 会显示创建 OAuth 客户端 ID 页面,在该页面中可以创建 OAuth 客户端 ID 和密钥,以在与 Looker 的 BigQuery 连接中使用。从应用类型下拉菜单中,选择 Web 应用。该页面将展开并显示其他选项:

  6. 名称字段中,输入应用的名称,例如 Looker。

  7. 已获授权的 JavaScript 来源部分,选择 + 添加 URI 以显示 URI 1 字段。在 URI 1 字段中,输入 Looker 实例(包括 https://)的网址。例如:

    • 如果 Looker 托管您的实例:https://<instancename>.looker.com
    • 如果您拥有客户托管的 Looker 实例:https://looker.<mycompany>.com
    • 如果您的 Looker 实例需要端口号:https://looker.<mycompany>.com:9999
  8. 已获授权的重定向 URI 部分中,选择 + 添加 URI,以显示 URI 1 字段。在 URI 1 字段中,输入 Looker 实例的网址,后跟 /external_oauth/redirect。例如:https://<instancename>.looker.com/external_oauth/redirecthttps://looker.<mycompany>.com:9999/external_oauth/redirect

  9. 选择创建。Google 会显示您的客户端 ID客户端密钥

  10. 复制您的客户端 ID 和客户端密钥值。您需要在 Looker 中为 BigQuery 连接配置 OAuth

Google 会要求您配置 OAuth 同意屏幕,以便用户选择您的访问权限以访问其私人数据,并提供指向贵组织的服务条款和隐私权政策的链接。

在左侧菜单中,选择 OAuth 同意屏幕页面。在配置 OAuth 权限请求页面之前,您必须先选择要向哪些用户提供此应用。根据您选择的选项,您的应用可能需要经过 Google 验证

进行选择,然后选择创建。Google 会显示 OAuth 同意屏幕页面。您可以为项目中的所有应用(包括内部应用和公共应用)配置此屏幕。

如果存在以下任一情况,Google 会对公共应用进行验证:

  • 应用使用采用受限或敏感范围的 Google API。
  • OAuth 权限请求页面包含一个应用徽标。
  • 项目已超出网域阈值。

如需配置 OAuth 权限请求页面,请按以下步骤操作:

  1. 应用名称字段中,输入用户要授予访问权限的应用的名称。在本例中,输入 Looker 的名称。

  2. 用户支持电子邮件地址字段中,输入用户应就登录或意见征求问题与支持团队联系的电子邮件地址。

  3. 选择添加网域以显示已获授权的网域 1 字段。在此字段中,输入 Looker 实例的网址网域。例如,如果 Looker 在 https://<instance_name>.cloud.looker.com 处托管实例,则网域为 cloud.looker.com。对于客户托管的 Looker 部署,请输入您托管 Looker 的网域。

  4. 开发者联系信息部分,输入一个或多个电子邮件地址,供 Google 就项目事宜与您联系。

    其余字段为选填字段,但您可以使用它们进一步自定义您的意见征求屏幕。

  5. 选择保存并继续

  6. Google 会显示范围页面,您可以在其中配置范围。Looker 只需要默认范围,因此无需额外的范围配置。选择保存并继续

  7. 摘要页面上,选择返回数字面板

您现在可以继续生成 OAuth 凭据的流程。

如需详细了解如何配置 Google OAuth 同意屏幕,请参阅 Google 支持文档。

使用 OAuth 为 BigQuery 配置 Looker 连接

如需为您的 BigQuery 连接启用 OAuth,请在设置 Looker 与 BigQuery 的连接时选择 Looker 连接页面上的 OAuth 选项。启用 OAuth 选项后,Looker 会显示 OAuth 客户端 IDOAuth 客户端密钥字段。粘贴您在本页的生成 Google OAuth 凭据过程中作为步骤获取的客户端 ID客户端密钥

按照本页面的将 Looker 连接到 BigQuery 部分所述完成其余过程。

Looker 用户如何使用 OAuth 向 BigQuery 进行身份验证

为 OAuth 设置 Looker 与 BigQuery 的连接后,用户可以执行以下任一操作,使用 Looker 对您的 BigQuery 数据库执行初始身份验证:

通过查询向 Google 进行身份验证

为 OAuth 设置 Looker 与 BigQuery 的连接后,Looker 会提示用户先使用 Google 帐号登录,然后再运行使用 BigQuery 连接的查询。Looker 会显示“探索”“信息中心”“Looks”和“SQL Runner”中的提示。

用户必须选择登录并使用 OAuth 进行身份验证。用户向 BigQuery 进行身份验证后,可以在“探索”中选择运行按钮,Looker 会将数据加载到“探索”中。

从用户帐号页面向 Google 进行身份验证

为 OAuth 设置 BigQuery 的 Looker 连接后,用户就可以通过 Looker 用户帐号页面登录其 Google 帐号:

  1. 从 Looker 中,选择个人资料图标,然后从用户菜单中选择 Account
  2. 向下滚动到 OAuth 连接凭据部分,并选择所需的 BigQuery 数据库连接对应的登录按钮。
  3. 使用 Google 帐号登录页面中选择相应的帐号。
  4. 在 OAuth 权限请求页面上选择允许,即可允许 Looker 在 Google BigQuery 中查看和管理您的数据。

通过 Looker 向 Google 进行身份验证后,您可以随时通过帐号页面退出或重新授权凭据,如个性化您的用户帐号文档页面中所述。虽然 Google BigQuery 令牌不会过期,但用户可以选择重新授权,以使用其他 Google 帐号登录。

撤消 OAuth 令牌

用户可以访问其 Google 帐号设置,从 Looker 等应用中撤消对 Google 帐号的访问权限。

Google BigQuery 令牌不会过期;但是,如果数据库管理员以会导致现有凭据无效的方式更改数据库连接的 OAuth 凭据,则用户必须再次使用自己的 Google 帐号登录,然后才能运行使用该连接的任何查询。

BigQuery 连接上的永久性派生表

如果要为 BigQuery 连接使用永久性派生表 (PDT),则可能需要根据连接配置执行以下操作:

  • 使用 Google Cloud BigQuery 控制台在 BigQuery 数据库中创建一个临时数据集,Looker 可以使用该数据集写入 PDT。有关具体操作,请参阅本文档的为永久性派生表创建临时数据集部分。无论连接的其他配置选项为何,PDT 都必须进行此设置。
  • 使用 Google Cloud 控制台中的 API 管理器为 Looker 的 PDT 进程创建单独的服务帐号。请参阅本页面上的创建服务帐号并下载 JSON 凭据证书部分的过程。您的连接身份验证类型会影响是否需要 PDT 服务帐号,以及您在设置 Looker 与 BigQuery 的连接时在 Looker 的连接窗口中输入 PDT 服务帐号信息的位置:
    • 如果您的连接使用 OAuth 进行用户身份验证,则必须为 PDT 流程创建单独的服务帐号。您需要在 Looker 的连接窗口的 PDT 替换部分中输入服务帐号信息和证书文件详细信息。如果您为同时在 Authentication 字段中配置 OAuth 选项的连接开启 PDT 开关,Looker 的连接窗口就会自动显示“PDT 替换”部分。如需了解详情,请参阅为通过 OAuth 的 Looker 连接到 BigQuery 启用 PDT 部分。
    • 如果您的连接使用服务帐号进行用户身份验证,您可以选择为 PDT 流程创建单独的服务帐号。如果您选择使用单独的 PDT 服务帐号,则需要在 Looker 连接窗口的服务帐号电子邮件地址服务帐号 JSON/P12 文件密码字段中的 PDT 替换部分输入服务帐号信息。当您使用服务帐号身份验证为 Looker 连接启用启用 PDT 切换开关后,系统会显示 PDT 替换部分。

为永久性派生表创建临时数据集

如需为您的 BigQuery 连接启用永久性派生表 (PDT),请在设置 Looker 与 BigQuery 的连接时将 Looker 连接页面上的启用 PDT 开关切换为开启。启用 PDT 时,Looker 将显示临时数据集字段。在此字段中,您将输入 Looker 可用于创建 PDT 的数据集的名称。您应该提前配置具有适当写入权限的此数据库或架构。

您可以使用 Google Cloud BigQuery 控制台设置临时数据集:

  1. 打开 Google Cloud BigQuery 控制台,然后选择您的项目。

  2. 选择三点状菜单,然后选择创建数据集

  3. 输入数据集 ID(通常为 looker_scratch),然后选择您的数据位置(可选)、默认表过期时间和加密密钥管理解决方案。选择创建数据集即可完成。

现在您已创建数据集,接下来可以在设置 Looker 与 BigQuery 的连接时,在 Looker 的连接窗口的临时数据集字段中指定数据集的名称。

使用 OAuth 为 Looker 与 BigQuery 的连接启用 PDT

对于使用 OAuth 的 BigQuery 连接,您的用户将使用其 OAuth 凭据进行身份验证至 Looker。Looker 支持通过 OAuth 进行 BigQuery 连接(但 Looker 本身无法使用 OAuth),因此您必须专门设置 BigQuery 服务帐号,以允许 Looker 访问您的数据库执行 PDT 流程。

您可以使用 Google Cloud API Manager 在 BigQuery 数据库中设置 PDT 服务帐号。请参阅本页面上的创建服务帐号并下载 JSON 凭据证书部分。

在 BigQuery 数据库中创建服务帐号后,当您设置 Looker 与 BigQuery 的连接时,需要在 Looker 的连接窗口的 PDT 替换部分中输入服务帐号信息和证书文件详细信息。如果您为同时在 Authentication 字段中配置 OAuth 选项的连接开启 PDT 开关,Looker 的连接窗口就会自动显示“PDT 替换”部分。使用 PDT 替换部分中的以下字段输入 Looker 可用于对数据库中的 PDT 进程使用的服务帐号的信息:

  • 上传 p12 或 json:使用上传文件按钮,上传要用于连接的 PDT 流程的 BigQuery 服务帐号的证书文件。您可以从创建服务帐号并下载 JSON 凭据证书过程中,从 Google Cloud API 管理器中获取此文件
  • 用户名:仅当您在 PDT 替换部分的上传 p12 或 json 字段中上传 P12 文件时,此字段才适用。输入要用于连接的 PDT 进程的 BigQuery 服务帐号的电子邮件地址。在创建服务帐号并下载 JSON 凭据证书过程中,您可从 Google Cloud API 管理器中获取此电子邮件地址。
  • 密码:仅当您在 PDT 替换部分的上传 p12 或 json 字段中上传 P12 文件时,此字段才适用。输入要用于连接上的 PDT 进程的 BigQuery 服务帐号的 .p12 凭据文件的密码。

将 Looker 连接到 BigQuery

在 Looker 的管理部分中,选择连接以打开连接页面,然后执行以下操作之一:

  • 如需创建新连接,请选择 Add Connection 按钮。
  • 要修改现有连接,请从 Databases 表中找到相应连接,然后在连接列表中选择 Edit 按钮。

填写连接详情。这些设置中的大多数设置对于大多数数据库方言都是通用的,将 Looker 连接到数据库文档中对此进行了说明。我们提到了以下设置,以重点说明这些设置或阐明它们如何应用于 BigQuery 连接:

  • 方言:选择 Google BigQuery 标准 SQLGoogle BigQuery 旧版 SQL
  • 结算项目 IDGoogle Cloud 项目 ID。结算项目是需要付费的 Google Cloud 项目,但如果您的 LookML 开发者在 LookML 视图探索联接sql_table_name 参数中指定完全限定范围的表格名称,您仍然可以在其他 Google Cloud 项目中查询数据集。对于 BigQuery,完全限定范围的表名称的格式为 <project_name>.<dataset_name>.<table_name>。如果没有完全限定范围的引用,BigQuery 就会在结算项目和数据集内查找该表,您在 Looker 的连接页面中会为与 Looker 的 BigQuery 连接指定该表。如需了解 BigQuery 中的资源层次结构说明,请参阅 BigQuery 文档
  • 数据集您计划使用的默认数据集的名称。如果某个表未指定数据集,系统会假定该表位于此数据集中。(您还可以在此项目中对其他数据集建模。)数据集值必须与 BigQuery 数据库中的数据集名称一致。
  • 身份验证:Looker 用于访问数据库的身份验证类型(服务帐号OAuth):
    • 服务帐号:选择此选项即可使用 BigQuery 服务帐号向 Looker 进行身份验证(如需了解详情,请参阅使用 BigQuery 服务帐号进行身份验证)。选择 Service Account(服务帐号)后,您会看到以下字段:
      • 上传服务 JSON 或 P12 文件:使用上传文件按钮为 BigQuery 服务帐号上传证书文件。您可以从创建服务帐号并下载 JSON 凭据证书过程中,从 Google Cloud API 管理器中获取此文件
      • 服务帐号电子邮件地址:仅当您在上传服务 JSON 或 P12 文件字段中上传 P12 文件时,此字段才适用。输入 BigQuery Cloud 服务帐号的电子邮件地址,您可以在创建服务帐号并下载 JSON 凭据证书过程中的相应步骤获取该地址。
      • 密码:BigQuery 服务帐号的 P12 凭据文件的密码。只有当您在上传服务 JSON 或 P12 文件字段中上传 P12 文件时,密码字段才适用。
    • OAuth:选择此选项后,每个 Looker 用户都可以向 Google BigQuery 验证身份,并授权 Looker 使用该用户的 BigQuery 帐号访问数据库。请参阅本页面的使用 OAuth 进行身份验证部分,详细了解如何为 BigQuery 连接实现 OAuth。选择 OAuth 后,您会看到以下字段:
  • 启用 PDT:将此切换开关上的滑块滑至开启位置,以允许在连接上使用永久性派生表 (PDT)。您将需要在数据库中指定 Looker 将用于写入 PDT 的临时数据集。请参阅本页面上的为永久性派生表创建临时数据集部分。 注意:如果您的连接是针对 OAuth 配置的,则您需要使用 PDT 替换部分指定一个服务帐号,Looker 可通过该服务帐号执行 BigQuery 连接上的 PDT 流程。如需了解详情,请参阅为通过 OAuth 的 Looker 连接到 BigQuery 启用 PDT 部分。
  • 临时数据集:您在 Google Cloud BigQuery 控制台中创建的 BigQuery 数据集,用于允许 Looker 将永久性派生表写入数据库。请参阅为永久性派生表创建临时数据集部分。
  • 数据库时区:BigQuery 的默认时区为世界协调时间 (UTC)。您在此处指定的时区设置需要与您的 BigQuery 时区设置保持一致。如需了解详情,请参阅将 Looker 连接到数据库页面的数据库时区部分。
  • 查询时区:如需了解详情,请参阅将 Looker 连接到数据库页面的查询时区部分。
  • 更多 JDBC 参数:添加任何其他 JDBC 参数,例如 BigQuery 标签(如需了解详情,请参阅本页面上的 BigQuery 连接的作业标签和上下文注释部分。)以下是一些其他支持的参数:
    • connectTimeout:等待连接的毫秒数。默认为 240000。
    • readTimeout:等待读取的毫秒数。默认为 240000。
    • rootUrl:如果您在专用网络中拥有 BigQuery 实例,请指定其他端点(非默认公共端点)以连接到 BigQuery。
  • 结算 GB 数上限:在 BigQuery 连接上,您需要根据查询的大小为每个查询付费。为防止用户不小心运行过于高昂的查询,您可以设置用户可以在单个查询中提取的 GB 数上限。您可以将结算 GB 数上限字段留空,以指明查询大小限制。如需详细了解价格,请点击此处
  • 每个节点的连接数上限:最初可以保留默认值。如需详细了解此设置,请参阅将 Looker 连接到数据库文档页面的每个节点的连接数上限部分。
  • 连接池超时:最初可以保留默认值。如需详细了解此设置,请参阅将 Looker 连接到数据库文档页面的连接池超时部分。
  • 停用上下文:此选项会停用 BigQuery 连接上的上下文注释Google BigQuery 连接的上下文注释默认处于停用状态,因为上下文注释会导致 Google BigQuery 的缓存功能失效,并可能会对缓存性能产生负面影响。通过关闭停用上下文切换开关,您可以为 BigQuery 连接启用上下文注释。如需了解详情,请参阅适用于 BigQuery 连接的作业标签和上下文注释
  • SQL Runner 预缓存:如果您希望 SQL Runner 不预加载表信息而改为仅在选定表时加载表信息,请清除此选项。如需了解详情,请参阅将 Looker 连接到数据库页面的 SQL Runner 预缓存部分。

填写完所有适用的连接字段后,您可以根据需要测试连接

要保存这些设置,请点击连接

测试连接

您可以在 Looker 界面中的几个位置测试连接设置:

  • 选择连接设置页面底部的测试按钮,如将 Looker 连接到数据库文档页面所述。
  • 连接文档页面中所述,在连接管理页面上,选择连接列表旁边的测试按钮。

对于新连接,如果 Looker 显示可以连接,请选择添加连接。Looker 将运行其余的连接测试,以验证服务帐号是否已正确设置以及具有适当的角色。

测试使用 OAuth 的连接

  1. 在 Looker 中,进入开发模式
  2. 对于使用 OAuth 的现有 BigQuery 连接,请前往使用 BigQuery 连接的 Looker 项目文件。对于使用 OAuth 的新 BigQuery 连接,请打开模型文件,将模型的 connection 值替换为新 BigQuery 连接的名称,然后保存此模型文件。
  3. 打开模型的其中一个“探索”或信息中心并运行查询。当您尝试运行查询时,Looker 会提示您使用 Google 帐号登录。按照 Google OAuth 登录提示操作。

BigQuery 连接的作业标签和上下文注释

对于 BigQuery 连接,Looker 会以 BigQuery 作业标签的形式发送查询上下文。默认情况下,Looker 会针对 BigQuery 连接发送以下上下文标签键:

  • looker-context-user_id:Looker 实例上每个用户的唯一标识符。您可以将此 User-ID 与 Admin 菜单的 Users(用户)页面上的用户 ID 进行匹配。
  • looker-context-history_slug:Looker 实例在数据库上运行的每个查询的唯一标识符。

  • looker-context-instance_slug:发出查询的 Looker 实例的 ID 编号。Looker 支持团队可以使用这些信息来帮助您排查问题(如有必要)。

您可以使用连接页面的其他 JDBC 参数文本字段,将 Looker 的其他作业标签配置为随 BigQuery 连接中的每个查询一起发送。更多 JDBC 参数字段中,添加另一个 JDBC 参数 labels,并提供一系列网址编码的 key=value 对(以英文逗号分隔)。例如,如果您在其他 JDBC 参数字段中添加以下代码:

labels=this%3Dconnection-label,that%3Danother-connection-label

%3D= 的网址编码,因此除了默认的 Looker 上下文标签之外,这还会向 Looker 发送到 BigQuery 数据库的每个查询添加以下两个标签:

  • thisconnection-label
  • thatanother-connection-label

请注意,BigQuery 存在作业标签限制

  • 与上下文标签具有相同键的任何连接标签都将被忽略。
  • 如果连接标签和上下文的标签总数超过总共 64 个标签,则最先丢弃上下文标签,然后是连接标签,直到标签总数不超过 64 个。

Looker 会确保上下文标签符合所有 BigQuery 的标签有效性要求,但不会检查连接标签的有效性。配置无效的连接标签可能会导致查询失败。

Looker 默认发送的 BigQuery 作业标签(looker-context-user_idlooker-context-history_idlooker-context-instance_slug)对应于 Looker 附加到数据库查询(BigQuery 除外)的 SQL 查询的 SQL 上下文注释。对于 BigQuery 连接,上下文注释默认处于停用状态,因为它们会导致 BigQuery 的缓存功能失效,并且可能会对缓存性能产生负面影响。您可以为 BigQuery 连接关闭停用上下文切换开关,从而为 BigQuery 连接启用上下文注释。我们建议您保留停用上下文评论的默认设置,以便您可以使用 BigQuery 的缓存。但是,如果您为 BigQuery 连接取消选择 Disable Context Comment 选项,则 Looker 会将 SQL 上下文注释和 BigQuery 作业标签发送到您的数据库。

SQL 上下文注释和 BigQuery 作业标签传达相同的信息。例如,Looker 可能会为查询生成以下 SQL 上下文注释:

-- Looker Query Context

'{"user_id":1,"history_id":4757,"instance_slug":"ec2804ddef74c466f2a43e0afaa3ff6b"}'

然后,Looker 会针对同一查询生成以下 BigQuery 作业标签:

[{"value":"1","key":"looker-context-user_id"),

 {"value":"4757","key":"looker-context-history_id"),

 {"value":"ec2804ddef74c466f2a43e0afaa3ff6b","key":"looker-context-instance_slug"}]

功能支持

为了让 Looker 支持某些功能,您的数据库方言也必须支持这些功能。

Google BigQuery 标准 SQL

从 Looker 23.8 开始,Google BigQuery 标准 SQL 支持以下功能:

功能 是否支持?
支持级别
支持
Looker (Google Cloud Core)
对称聚合
派生表
永久性 SQL 派生表
永久性原生派生表
稳定版观看次数
查询终止
基于 SQL 的数据透视
时区
SSL
小计
JDBC 附加参数
区分大小写
位置类型
列表类型
百分位
不同百分位
SQL Runner 显示进程
SQL Runner 描述表
SQL Runner 显示索引
SQL Runner 选择 10
SQL 运行程序计数
SQL 说明
OAuth 凭据
上下文评论
连接池
HLL 素描
总体认知度
PDT 增幅
毫秒
微秒
具体化视图
唯一计数

Google BigQuery 旧版 SQL

从 Looker 23.8 开始,Google BigQuery 旧版 SQL 支持以下功能:

功能 是否支持?
支持级别
支持
Looker (Google Cloud Core)
对称聚合
派生表
永久性 SQL 派生表
永久性原生派生表
稳定版观看次数
查询终止
基于 SQL 的数据透视
时区
SSL
小计
JDBC 附加参数
区分大小写
位置类型
列表类型
百分位
不同百分位
SQL Runner 显示进程
SQL Runner 描述表
SQL Runner 显示索引
SQL Runner 选择 10
SQL 运行程序计数
SQL 说明
OAuth 凭据
上下文评论
连接池
HLL 素描
总体认知度
PDT 增幅
毫秒
微秒
具体化视图
唯一计数

后续步骤

将数据库连接到 Looker 后,为用户配置登录选项