BigQuery 是 Google 推出的全代管式低成本分析数据仓库,可支持 PB 级数据规模。利用 Looker 数据洞察 BigQuery 连接器,您可以在 Looker 数据洞察内访问 BigQuery 表中的数据。
准备工作
如需在 Looker 数据洞察中访问 BigQuery 数据,您需要提供 Google Cloud Billing 账号。BigQuery 是一款付费产品,通过 Looker 数据洞察访问 BigQuery 时可能会产生 BigQuery 使用费。详细了解 BigQuery 价格。
如何连接到 BigQuery
您可以将 Looker 数据洞察连接到 Google BigQuery 中的表、视图或自定义查询。
连接步骤
点击
Create(创建),然后选择 Report(报告)。系统随即会显示报告编辑器,并打开将数据添加到报告面板。
如需创建新的嵌入式数据源,请选择 BigQuery 连接器。
- 如需选择现有的可重复使用的数据源,请点击我的数据源标签页,然后选择您之前创建的或与您共享的任何类型的数据源。
配置与 BigQuery 数据的数据源连接。您可以连接到 BigQuery 表或视图,也可以使用自定义 SQL 查询进行连接。
点击添加。
片刻后,报告画布上会显示与数据源关联的表格。
嵌入式数据源与可重复使用的数据源简介
数据源可以是嵌入式数据源,也可以是可重复使用的数据源。报告可以同时包含嵌入式数据源和可重复使用的数据源。
您在修改报告时创建的数据源会嵌入到报告中。如需修改嵌入式数据源,请在相应报告中进行修改。借助嵌入式数据源,您可以更轻松地协同处理报告和数据源。任何可以修改报告的用户都可以修改数据源以及其关联。当您共享或复制报告时,所有嵌入式数据源也会一并共享或复制。
您通过首页创建的数据源是可重复使用的。您可以在不同的报告中重复使用这些数据源。借助可重复使用的数据源,您可以在整个组织中创建和共享一致的数据模型。只有您与之共享可重复使用的数据源的人员才能修改该数据源。只有数据源凭据的所有者可以修改关联。
详细了解数据源。
刚开始使用 Looker Studio?
使用“属性”面板更改表格的数据和样式。使用工具栏向报告添加更多图表、控件和其他组件。
了解 Looker Studio
连接到 BigQuery 表或视图
BigQuery 表包含按行整理的各条记录。每条记录都由列(也称为字段)组成。BigQuery 视图是由在 BigQuery 控制台中执行的 SQL 查询定义的虚拟表。
如需连接到表或视图,您需要提供以下信息:
- BigQuery 项目
- 数据集
- 表或视图
项目
项目可整理您的 BigQuery 资源,并在您的报告超出 BigQuery 的免费配额时提供结算所需的信息。您可以使用同一个项目进行结算和数据管理,也可以使用一个项目存储数据,而将另一个项目用于结算。详细了解 Google Cloud 项目。
请从下列选项中选择一项以选择您的项目:
- 近期项目
- 我的项目
- 共享项目
近期的项目
近期项目选项会显示您最近在 Google Cloud 控制台中访问过的项目。您也可以手动输入项目 ID。您选择的项目将用于结算和数据访问。选择项目后,您需要选择数据集。
我的项目
通过 MY PROJECTS(我的项目)选项,您可以选择自己有权访问的任何项目。您也可以手动输入项目 ID。您选择的项目将用于结算和数据访问。选择项目后,您需要选择数据集。
如果您有权访问多个项目,则这些项目可能并不都会显示在列表中。如果列表超出项数上限,您可以直接在条目字段中输入未列出的项目。
共享项目
借助共享的项目选项,您可以访问与您共享的项目。您可以为数据和结算选择不同的项目。
数据集
数据集用于组织和控制对数据的访问权限。从列表中选择一个数据集,或按名称搜索数据集。
公共数据集
BigQuery 公共数据集是公共示例,其中数据集是共享的,但项目不共享。如需查询此类数据,您必须指定自己的结算项目,系统会根据共享数据的处理费用对该项目进行结算。
表
您可以将 Looker 数据洞察数据源连接到单个表或视图。
连接到日期分区表
Looker Studio 可以利用 BigQuery 日期分区表。当您连接到按 DATE
、DATETIME
或 TIMESTAMP
字段分区的表时,Looker Studio 可以将该字段用作基于此数据源的图表的日期范围维度。如需启用此选项,请选中数据源连接页面配置列中显示的将字段名称用作日期范围维度复选框。
如果 BigQuery 中的分区表需要分区过滤条件,系统会默认选中将字段名称用作日期范围维度复选框,且该复选框无法清除。
详细了解 BigQuery 中的日期分区表。
使用自定义 SQL 查询连接到 BigQuery
借助 CUSTOM QUERY 选项,您可以通过编写 SQL 连接到数据。自定义查询语法遵循标准 SQL 方言。如需使用旧版 BigQuery SQL 方言,请选择使用旧版 SQL 选项。
使用 BigQuery 界面编写和测试查询,然后将该查询复制并粘贴到 Looker 数据洞察的自定义查询框中。
结算项目
借助结算项目选项,您可以通过搜索或手动输入项目 ID 为自定义查询提供结算项目。如果贵组织有许多 BigQuery 项目,您可能需要使用手动输入方法来查找项目。
如需使用一个项目进行结算,并使用其他项目存储数据,请在界面中选择或输入结算项目,然后在自定义查询的 SELECT...FROM
子句中添加数据项目。
查询参数
借助参数,您可以制作响应速度更快、可自定义的报告。您可以将 BigQuery 数据源中的参数传递回底层查询。如需在自定义查询中使用参数,请遵循 BigQuery 中运行参数化查询的语法准则。
详细了解如何在自定义查询中使用参数。
自定义查询的限制
Looker 数据洞察会将您的自定义 SQL 用作所生成的每个数据库查询的内部 SELECT 语句。实际上,您的自定义查询会生成一个新的虚拟表,然后 Looker Studio 会使用其自行生成的“外部”SQL 查询该表。因此,Looker Studio 中的自定义查询受到一些限制:
自定义 SQL 查询只能包含一个语句
例如,以下代码因包含多个 SQL 语句而无法运行:
DECLARE cost_per_tb_in_dollar FLOAT64 DEFAULT 4.2;
SELECT total_bytes_billed / (1024 \* 1024))\* cost_per_tb_in_dollar)/(1024\*1024))) FROM billing-table;
在联接中使用明确的字段名称
自定义联接查询无法处理重复的列名称。如果图表使用的数据源基于包含重复字段的自定义查询,则会返回类似于以下内容的用户配置错误:
为避免此问题,请务必在自定义查询中使用明确的字段名称。
例如,假设您要联接两个架构相同的表,并以这两个表中都存在的 Criteria_ID
字段进行联接。
SELECT * FROM (
SELECT Criteria_ID, Parent_ID, Name FROM 'table_1'
) As table_1
LEFT JOIN (
SELECT Criteria_ID, Parent_ID, Name FROM 'table_2'
) As table_2
ON
table_1.Criteria_ID = table_2.Criteria_ID
此查询包含以下重复的列名称:
Criteria_ID
Parent_ID
Name
为避免出现 Field is ambiguous
错误,您可以使用 AS
关键字明确重命名重复的字段:
SELECT *
FROM (
SELECT
Criteria_ID AS Criteria_ID_1,
Parent_ID AS Parent_ID_1,
Name AS NAME_1
FROM
'table_1' ) AS table_1
LEFT JOIN (
SELECT
Criteria_ID AS Criteria_ID_2,
Parent_ID AS Parent_ID_2,
Name AS NAME_2
FROM
'table_2' ) AS table_2
ON
table_1.Criteria_ID_1 = table_2.Criteria_ID_2;
如果您只需要重命名几个字段,可以选择除要重命名的字段以外的所有字段,例如:
SELECT * EXCEPT (city), city AS city_1 FROM 'table_1'
查询超时
Looker 数据洞察中的自定义查询可能会在三到五分钟后超时。如果您的自定义查询超时,请尝试通过以下方法解决此问题:
- 简化查询,以加快其运行速度。
- 在数据库中运行查询,并将结果存储在单独的表中。然后,连接到数据源中的该表。
多日表格
BigQuery 支持跨多个表查询,其中每个表包含一天的数据。表的格式为 YYYYMMDD
。当 Looker Studio 遇到格式为 YYYYMMDD
的表时,该表将被标记为多日表,并且表格选择中只会显示名称前缀_YYYYMMDD。
创建用于直观呈现此表格的图表时,Looker Studio 会自动创建过去 28 天的默认日期范围,然后正确查询过去 28 天的数据。如需配置此设置,请修改报告、选择图表,然后在图表的数据标签页中调整日期范围属性。
查看向 BigQuery 发出的 SQL
您可以在 BigQuery 查询历史记录界面中查看 Looker Studio 生成的所有 BigQuery SQL。
“记录数”指标
BigQuery 数据源会自动提供默认的记录数指标。您可以使用此维度对维度进行细分,以显示图表汇总的记录数。
支持 VPC Service Controls
Looker Studio 可以通过基于观看者 IP 地址的访问权限级别连接到受 VPC Service Controls (VPC-SC) 边界保护的 BigQuery 项目。BigQuery 连接器会将报告查看者的 IP 地址传递给 BigQuery,然后 BigQuery 可以强制执行已设置的任何基于 IP 的访问权限级别。
直观呈现 BigQuery GEOGRAPHY 多边形
您可以在报告中使用 Google 地图可视化图表来显示地理图形多边形。如需查看教程,请参阅使用 Looker 数据洞察直观呈现 BigQuery GEOGRAPHY 多边形。
使用作业标签分析 Looker Studio 查询
Looker Studio 发送到 BigQuery 的所有查询都具有 BigQuery 作业标签 requestor:looker_studio
。您可以使用此作业标签来识别与 Looker Studio 相关的 BigQuery 查询。如需详细了解 BigQuery 中的标签,请参阅 查看标签 BigQuery 文档页面。
如需详细了解如何跟踪 Looker 数据洞察图表和报告的性能和费用,请参阅 使用 Looker 数据洞察分析数据 BigQuery 文档页面。
BigQuery 对话框
如果您拥有 BigQuery 数据源的所有者凭据,Looker Studio 会在使用 BigQuery 的任何图表的右上角显示 BigQuery 图标。将鼠标悬停在图表上,然后点击 BigQuery 图标以打开 BigQuery 对话框。该对话框会显示指向 BigQuery 作业详情页面的链接。BigQuery 作业详情页面包含以下信息:
- 图表的 SQL 查询
- SQL 查询返回的数据
- 查询步骤的每个阶段细分
- 查询统计信息,例如总运行时间和使用的槽数
配额和一般限制
使用 BigQuery Connector 可返回的行数上限为 200 万行。Looker Studio 会在数据行数超过 200 万行时进行说明,但不会指定行数。
此外,BigQuery 数据源受与 BigQuery 本身相同的速率限制和配额限制约束。
对于 BigQuery 数据源,MEDIAN
是使用 BigQuery APPROX_QUANTILES 函数实现的。将 MEDIAN
应用于来自 BigQuery 的数据与将 MEDIAN
应用于来自其他数据源类型的相同数据,所返回的结果可能会略有不同。