访问来自 Google BigQuery 的数据
可以在 Spotfire 中访问和分析 Google BigQuery 数据。本页介绍如何创建与 Google BigQuery 的数据连接,并提供有关如何在 Spotfire 中处理 BigQuery 数据的信息。
先决条件
- Spotfire 中的准备工作
- 开始之前,请阅读 Spotfire Connectors 的系统要求。确保您的 Spotfire 版本包含适用于 Google BigQuery 的连接器。
- 如果由于防火墙设置、代理或其他原因无法访问 localhost,则必须定义本地重定向地址模板。有关详细信息,请参见《Spotfire® Server 和环境 – 安装和管理》手册中的定义本地重定向地址模板。
- Google 帐户要求
- 要在 Spotfire 中访问来自 Google BigQuery 的数据,您需要 Google 帐户。您必须是启用了 BigQuery 的 Google Cloud Platform 项目的成员。
- 在 Google 项目中,确保您具有的角色有权查看和查询 BigQuery 数据。
- 有关如何在 Google Cloud Platform 项目中使用 BigQuery 的更多信息,请参阅 Google 提供的官方文档。
请记住,在 Spotfire 中分析 BigQuery 数据时,您需要为 Google BigQuery 处理的查询支付相应费用。创建连接时,可以选择 Google Cloud Platform 项目作为“计帐项目”。Google BigQuery 为每次查询处理的数据所产生的费用将计到所选项目。
Spotfire 发送到 Google BigQuery 的查询的数量、大小和复杂性取决于多个因素。您对连接或分析进行配置的方式会对 Spotfire 如何查询外部数据库产生影响。例如,您可以尝试在连接中限制数据选择。如果您仅选择想要分析的数据并排除不感兴趣的数据,则可以减小查询的大小。另一个因素是数据表的加载方法。如果导入数据表,则当您打开或刷新连接时,仅为整个表发送一个查询。对于数据库中分析,您也可以将数据表保留在外部。然后 Spotfire 会根据您在分析中执行的操作持续向数据库发送查询。
当您选择“导入”作为加载 BigQuery 中数据的方法时,Spotfire 会尝试使用 BigQuery Storage Read API 访问数据。与 BigQuery 的其他检索方法相比,这种加载机制的导入性能更为快速。要使用 Storage Read API,您需要拥有 bigquery.readsessions.create
权限。在加载您缺少此权限的数据(例如公共数据)时,Spotfire 会协调使用 BigQuery 较慢的其他检索方法。
要了解有关 BigQuery Storage Read API 的详细信息,请参见 Google Cloud 文档中的 BigQuery Storage Read API 概述。
- Google BigQuery 连接器 - 功能和设置
可以连接到 Google BigQuery 并访问其中的数据。在此页面上,可以了解相关功能、可用设置以及处理与 Google BigQuery 的数据连接时的注意事项。 - 来自 Google BigQuery 的重复列
可以访问包含重复列的 BigQuery 数据。重复列是指列中的每行可以包含多个值。在 Spotfire 中,包含重复列的数据将平展。 - 用于 Google BigQuery 数据连接中身份验证的凭据配置文件
对于 Google BigQuery 连接中的自动身份验证,需要使用 Google 服务帐户的凭据设置凭据配置文件。 - Google BigQuery 的专用终结点
Spotfire 支持在与 Google BigQuery 的数据连接中使用专用终结点。专用终结点是虚拟私有云 (VPC) 中可直接进行安全访问的内部 IP 地址。使用专用终结点可以提高安全性,因为流量不会离开 VPC 网络。
创建与 Google BigQuery 的新连接
要在 Spotfire 中访问 BigQuery 数据,请创建与 BigQuery 的连接。创建了连接后,您可以在 Spotfire 库中共享该连接。这样,您和团队成员便可重用该连接,从而方便地访问您在该连接中选择的数据。
- 打开“文件和数据”
浮出控件,然后单击“连接至”。
- 在连接器列表中,选择“Google BigQuery”。然后单击“新建连接”。
- 在“Google BigQuery 连接”对话框中,单击以在 Web 浏览器中启动 Google 登录程序。
- 在 Web 浏览器中,按照说明使用您的 Google 帐户登录。在最后一步,单击以向 Spotfire 应用程序授予对 Google BigQuery 的访问权限。登录后,返回到 Spotfire。
- 在“Google BigQuery 连接”对话框中,选择“计帐项目”。
- (可选)在您并非其成员的项目中,如果要访问您有权访问的数据集,请在“包括来自其他项目的数据”下输入项目 ID。(可选)选择是否要“启用重复列”和“显示公共数据”。
- 单击“确定”以连接。
- 在“连接中的视图”对话框中,选择要在 Spotfire 中分析的数据。选择好数据后,单击“确定”。提示: 有关更多信息,请参见“选择来自 Google BigQuery 的数据”。
- 最终步骤是要添加到分析的数据的汇总视图。在此步骤,您可以选择“导入”、“外部”或“按需”作为数据表的加载方法。提示: 有关更多信息,请参见“选择如何加载数据”。
- 单击“确定”以将所选数据添加到分析中。
选择来自 Google BigQuery 的数据
创建或编辑与 Google BigQuery 的连接时,您可以在“连接中的视图”对话框中选择要分析的数据。以下是与在 Spotfire 中选择来自 BigQuery 的数据相关的信息、提示和限制。
访问其他数据集
您可能有权访问自己是其成员的 Google Cloud Platform 项目中的 BigQuery 数据集,或者自己不是其成员的项目中的 BigQuery 数据集。
使用 Google 登录后,您是其成员的项目中您有权访问的数据集将始终在 Spotfire 中可用。
要访问您不是其成员的项目中的数据集,必须指定您要包括这些项目中的数据。在“Google BigQuery 连接”对话框的“包括来自其他项目的数据”字段中输入 Google Cloud Platform 项目 ID。
标准 SQL 和旧版 SQL
在 Google BigQuery 中,您可能使用两种不同的 SQL 方言:Standard SQL
和 Legacy SQL
。在 Spotfire 中,仅支持 SQL 方言 Standard SQL
。
如果选择来自 Google BigQuery 的数据,这意味着将出现以下情况:
- 无法选择使用
Legacy SQL
定义的 BigQuery 视图中的数据。选择数据时,不会列出此类视图。 - 只能使用
Standard SQL
编写自定义查询。
BigQuery 连接中的自定义查询
- 通过自定义查询选择来自 Google BigQuery 的数据时,必须使用
Standard SQL
编写查询。 - 如果要通过自定义查询选择的数据包含嵌套列,则不能编写
SELECT *
。从自定义查询返回的列的类型不能是STRUCT
或ARRAY
。如果数据中包含嵌套列,则必须在查询中将这些列取消嵌套。有关取消嵌套的更多信息,请参阅 Google 提供的官方文档。 - 来自 Google BigQuery 的重复列在自定义查询中不受支持。
重复列
可以分析包含重复列的 BigQuery 数据。要启用重复列,请在创建连接时选择“启用重复列”
在 Spotfire 中,来自 BigQuery 的重复列的名称显示在方括号 []
内:
[column_name]
嵌套列(记录)
BigQuery 中的记录列里面嵌套了其他列。
您可以通过 Spotfire 中的列名称识别嵌套列及其关系。例如,如果有一个记录列 Person
,该记录列里面嵌套了列 Name
和列 Age
,而这两个嵌套列包含人员的相关信息,则 Spotfire 中的列名称将是:
Person.Name
Person.Age
记录列 Person
本身在 Spotfire 中不会列出。原因是该记录列仅是其嵌套列的容器而已,其本身并不包含任何数据。
已分区表
在 Spotfire 中,已分区表中的分区依据列显示为参数。选择一个已分区表时,每个分区依据列由两个参数表示。这两个参数分别与分区依据列的结束值和起始值对应。

要输入参数的值,可以使用提示或按需数据表。对于提示,可以在打开数据连接时输入参数的值。这样,每个用户都可以将数据选择限制为仅处于相关范围内的数据。
如果已分区表具有强制的分区依据列,则会自动在 Spotfire 中为相应的参数创建提示。如果要使用按需数据表作为参数的输入,您可以删除参数的提示。
根据分区依据列为参数定义提示时,只有提示类型“单项选择”可用。最终用户必须在您已定义的任何提示中输入值。
如果您没有为参数定义提示,则不会根据该参数限制数据。
公共数据
您可以决定是否想让 BigQuery 公共数据集在连接到 Google BigQuery 时可供选择。要在连接中启用公共数据集,请在“Google BigQuery 连接”对话框中选中“显示公共数据”复选框。
启用此选项时,加载可能需要耗费很长时间才能在“连接中的视图”对话框中列出数据表。这是因为 BigQuery 公共数据集数量非常大。
使用 BigQuery 访问 Google Analytics 数据
可以在 BigQuery 中访问和分析 Google Analytics 数据。
要在 Spotfire 中使用 Google BigQuery 连接器访问 Google Analytics 数据,您必须在数据连接中启用重复列。创建或编辑连接时,在“Google BigQuery 连接”对话框中选择“启用重复列”。
有关详细信息,请参见来自 Google BigQuery 的重复列。