使用 BI Engine 和 Tableau 分析数据
借助 BigQuery BI Engine,您可以使用由 BigQuery 支持的报告和信息中心执行快速、低延迟的分析服务和交互式分析。
该入门教程适用于使用商业智能 (BI) 工具 Tableau 构建报告和信息中心的数据分析师和业务分析师。
目标
在此教程中,您需要完成以下任务:
- 使用 Google Cloud 控制台创建 BI 预留和增加容量。
- 使用 Tableau 连接到由 BI Engine 管理的 BigQuery 表。
- 使用 Tableau 创建信息中心。
费用
BigQuery BI Engine SQL 接口的价格与 BI Engine 价格页面上的价格模式相同。
准备工作
开始之前,请确保您有一个已启用结算功能的可供使用的项目,并且已启用 BigQuery API。
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- 新项目会自动启用 BigQuery API。
如需在现有项目中激活 BigQuery API,请前往
Enable the BigQuery API.
所需权限
如需获得执行查询、运行作业和查看数据所需的权限,请让您的管理员为您授予 BigQuery Admin (roles/bigquery.admin
) IAM 角色。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
如果您在 Tableau 中使用自定义 OAuth 客户端连接到 BigQuery,则可能需要其他权限。如需了解详情,请参阅排查错误。
创建 BigQuery 数据集
第一步是创建用于存储由 BI Engine 托管的表的 BigQuery 数据集。如需创建数据集,请按照下列步骤操作:
在 Google Cloud 控制台中,转到 BigQuery 页面。
在导航面板的 Explorer 面板中,点击您的项目名称。
在详细信息面板中,点击
查看操作,然后点击创建数据集。在创建数据集页面上,执行以下操作:
- 在数据集 ID 部分,输入
biengine_tutorial
。 在数据位置部分,选择 us(美国的多个区域),即存储公共数据集的多区域位置。
在本教程中,您可以选择启用表过期时间,然后指定表在多少天后过期。
- 在数据集 ID 部分,输入
保留所有其他默认设置不变,然后点击创建数据集。
通过复制公共数据集中的数据来创建表
本教程使用通过 Google Cloud 公共数据集计划提供的数据集。公共数据集是由 BigQuery 托管的数据集,可供您访问并集成到您的应用中。
在此部分中,您将通过从 San Francisco 311 service requests 数据集复制数据来创建表。您可以使用 Google Cloud 控制台浏览数据集。
创建表
如需创建表,请按照下列步骤操作:
在 Google Cloud 控制台中,转到 BigQuery 页面。
在浏览器面板中,搜索
san_francisco_311
。在浏览器面板中,展开 san_francisco_311,然后点击 311_service_requests 表。
在“浏览器”工具栏中,点击复制。
在复制表对话框的目标位置部分中,执行以下操作:
- 对于项目名称,点击浏览,然后选择您的项目。
- 对于数据集名称,选择 biengine_tutorial。
对于表名称,输入
311_service_requests_copy
。
点击复制。
可选:完成复制作业后,展开
PROJECT_NAME
> biengine_tutorial 并点击 311_service_requests_copy > 预览,以验证表内容。将PROJECT_NAME
替换为本教程中的 Google Cloud 项目的名称。
创建 BI Engine 预留
在 Google Cloud 控制台中的管理下,转到 BI Engine 页面。
点击
创建预留。在创建预留页面上,配置您的 BI Engine 预留:
- 在项目列表中,验证您的 Google Cloud 项目。
- 在位置列表中,选择一个位置。该位置应该与您要查询的数据集的位置相匹配。
将容量 (GiB) 滑块调整到要预留的内存容量。以下示例将容量设置为 2 GiB。最大值为 250 GiB。
点击下一步。
在首选表部分中,可以选择指定进行 BI Engine 加速的表。如需查找表名称,请执行以下操作:
- 在表 ID 字段中,输入您希望 BI Engine 加速的表名称的一部分,例如
311
。 从建议的名称列表中,选择您的表名称。
只有指定的表才可以加速。如果未指定首选表,则所有项目查询都可以加速。
- 在表 ID 字段中,输入您希望 BI Engine 加速的表名称的一部分,例如
点击下一步。
在确认并提交部分中,查看协议。
如果您接受协议条款,请点击创建。
确认预留后,详细信息会显示在预留页面上。
从 Tableau 连接到数据集
如需从 Tableau 连接到数据集,您需要在 Tableau 中采取一些步骤,然后在 BI Engine 中执行一些步骤。
在 Tableau 中需要采取的步骤
- 启动 Tableau Desktop。
- 在连接下,选择 Google BigQuery。
- 在打开的标签页中,选择包含要访问的 BigQuery 数据的账号。
- 如果您尚未登录,请输入您的电子邮件或电话,选择下一步,然后输入密码。
- 选择接受。
Tableau 现在可以访问 BigQuery 数据。
在 Tableau 桌面设备的数据源页面上,执行以下操作:
- 从结算项目下拉列表中,选择您在其中创建预留的结算项目。
- 从项目下拉列表中选择您的项目。
- 从数据集下拉列表中,选择数据集
biengine_tutorial
。 - 在表下,选择表
311_service_requests_copy
。
创建图表
将数据源添加到报告后,下一步是创建可视化图表。
创建一个图表,按社区显示热门投诉:
- 在 Google Cloud 控制台中,点击新建工作表。
- 将维度设置为投诉类型。
- 根据名为
neighborhood
的维度进行过滤。 - 在 Measures 下,选择记录数。
- 右键点击社区过滤条件,然后点击修改过滤条件。
- 添加过滤条件以排除 null:选择 Null。
- 点击确定。
如需了解详情,请参阅 Tableau 文档。
清理
为避免因本页中使用的资源导致您的 Google Cloud 账号产生费用,请按照以下步骤操作。
为避免系统因本快速入门中使用的资源向您的 Google Cloud 账号收取费用,您可以删除项目和/或 BI Engine 预留。
删除项目
为了避免产生费用,最简单的方法是删除您为本教程创建的项目。
如需删除项目,请执行以下操作:
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
删除预留
或者,如果您打算保留该项目,则可以通过删除容量预留来避免产生额外的 BI Engine 费用。
要删除预留,请按以下步骤操作:
在 Google Cloud 控制台中的管理下,转到 BI Engine 页面。
在预留部分,找到您的预留。
在操作列中,点击预留右侧的
图标,然后选择删除。在“删除预留吗?”对话框中,输入删除,然后点击删除。
排查错误
如果您使用 Tableau 中的自定义 OAuth 配置连接到 BigQuery,则某些用户在连接到 Tableau 服务器时可能会遇到问题,并收到以下错误消息:
the app is blocked
如需解决此错误,请验证用户是否分配给一个具有将 Tableau 连接到 BigQuery 的所有必需权限的角色。如果问题仍然存在,请将用户添加到 OAuth Config Viewer (roles/oauthconfig.viewer
) 角色。
后续步骤
- 如需简要了解 BI Engine SQL 接口,请参阅 BI Engine SQL 接口。