BI Engine 首选表
通过 BigQuery BI Engine 首选表功能,您可以将 BI Engine 加速限制为一组指定的表。对所有其他表的查询使用常规 BigQuery 槽。例如,借助首选表,您可以仅加快被确定为对您的业务重要的表和信息中心。
如果项目中没有足够的 RAM 来保存所有首选表,则 BI Engine 会分流最近未访问的分区和列。此过程会为需要加速的新查询释放内存。
指定首选表
如需指定一组首选表,您可以使用以下选项:
- Google Cloud 控制台
- SQL 中的数据定义语言 (DDL) 语句
在 Google Cloud 控制台中指定首选表
您可以在创建新预留或修改现有预留时指定一组首选表。您可以从包含 BI Engine 预留的项目或任何其他 BigQuery 表中选择表。
为新预留指定首选表
如需在创建新预留时指定一组表进行加速,请按照以下步骤操作:
在 Google Cloud 控制台中,转到 BigQuery 页面。
在 BigQuery 导航菜单中,点击 BI Engine。
点击创建预留。
在创建预留页面上,指定位置和容量 (GiB) 的选项,然后点击下一步。
系统会显示首选表(可选)部分。
在表 ID 字段中,指定您要使用
PROJECT.DATASET.TABLE
模式加速的表。替换以下内容:
PROJECT
:您的 Google Cloud 项目 IDDATASET
:数据集TABLE
:要加速的表
点击下一步。
如需使用首选表创建预留,请点击创建。
为现有预留指定首选表
如需在现有预留中指定一组表进行加速,请按照以下步骤操作:
在 Google Cloud 控制台中,转到 BigQuery 页面。
在 BigQuery 导航菜单中,点击 BI Engine。
如果您的项目已针对首选表进行配置,则首选表列中会显示一组表。
在要修改的预留所在的行上,点击操作列中的图标,然后选择修改。
更改最长可能需要十秒才能生效。只有首选表列表中的表才能使用 BI Engine 加速功能。
使用 SQL 指定首选表
您可以使用 ALTER BI_CAPACITY SET OPTIONS
DDL 语句来修改一组首选表和预留大小:
ALTER BI_CAPACITY `<PROJECT_ID>.region-<REGION>.default` SET OPTIONS ( size_gb = 100, preferred_tables = ['TABLE_PROJECT_ID.DATASET.TABLE1', 'TABLE_PROJECT_ID.DATASET.TABLE2']);
替换以下内容:
TABLE_PROJECT_ID
:包含加速表的 Google Cloud 项目 IDDATASET
:包含加速表的数据集TABLE#
:要加速的表
使用 SQL 进行验证
如需验证预留(包括一组首选表)的状态,请使用 SQL 查询查看 INFORMATION_SCHEMA.BI_CAPACITIES
视图。例如:
SELECT * FROM `<PROJECT_ID>.region-<REGION>.INFORMATION_SCHEMA.BI_CAPACITIES`;
在 Google Cloud 控制台中,此 SQL 查询的结果类似于以下内容:
如需查看特定预留的更改历史记录,请通过 SQL 查询使用 INFORMATION_SCHEMA.BI_CAPACITY_CHANGES
视图。例如:
SELECT * FROM `<PROJECT_ID>.region-<REGION>.INFORMATION_SCHEMA.BI_CAPACITY_CHANGES` ORDER BY change_timestamp DESC LIMIT 3;
在 Google Cloud 控制台中,此 SQL 查询的结果类似于以下内容:
限制
BI Engine 首选表存在以下限制:
- 您无法将视图添加到首选表预留列表中。BI Engine 首选表仅支持表。
- 仅当具体化视图及其基表都位于首选表列表中时,才会加速对具体化视图的查询。
- 不支持指定分区或列进行加速
JSON
类型列不受支持,BI Engine 不会加速这些列。JOIN
查询中的所有表都必须位于要加速的首选表列表中。只要有一个表不在首选表列表中,查询就无法使用 BI Engine。- Google Cloud 控制台不支持公共数据集。如需将公共表添加为首选表,请使用 API 或 DDL。
价格
如需了解 BI Engine 价格,请参阅 BI Engine 价格页面。
后续步骤
- 开始使用 BigQuery 沙盒,无风险且免费。
- 了解如何将 BI Engine 与其他商业智能工具搭配使用。
- 了解如何为 BI Engine 预留容量。