BI Engine 首选表

通过 BigQuery BI Engine 首选表功能,您可以将 BI Engine 加速限制为一组指定的表。对所有其他表的查询使用常规 BigQuery 槽。例如,借助首选表,您可以仅加快被确定为对您的业务重要的表和信息中心。

如果项目中没有足够的 RAM 来保存所有首选表,则 BI Engine 会分流最近未访问的分区和列。此过程会为需要加速的新查询释放内存。

指定首选表

如需指定一组首选表,您可以使用以下选项:

  • Google Cloud 控制台
  • SQL 中的数据定义语言 (DDL) 语句

在 Google Cloud 控制台中指定首选表

您可以在创建新预留或修改现有预留时指定一组首选表。您可以从包含 BI Engine 预留的项目或任何其他 BigQuery 表中选择表。

为新预留指定首选表

如需在创建新预留时指定一组表进行加速,请按照以下步骤操作:

  1. 在 Google Cloud 控制台中,转到 BigQuery 页面。

    转到 BigQuery

  2. 在 BigQuery 导航菜单中,点击 BI Engine

  3. 点击创建预留

  4. 创建预留页面上,指定位置容量 (GiB) 的选项,然后点击下一步

    系统会显示首选表(可选)部分。

  5. 表 ID 字段中,指定您要使用 PROJECT.DATASET.TABLE 模式加速的表。

    替换以下内容:

    • PROJECT:您的 Google Cloud 项目 ID
    • DATASET:数据集
    • TABLE:要加速的表
  6. 点击下一步

  7. 如需使用首选表创建预留,请点击创建

为现有预留指定首选表

如需在现有预留中指定一组表进行加速,请按照以下步骤操作:

  1. 在 Google Cloud 控制台中,转到 BigQuery 页面。

    转到 BigQuery

  2. 在 BigQuery 导航菜单中,点击 BI Engine

    如果您的项目已针对首选表进行配置,则首选表列中会显示一组表。

    图片

  3. 在要修改的预留所在的行上,点击操作列中的图标,然后选择修改

    更改最长可能需要十秒才能生效。只有首选表列表中的表才能使用 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 项目 ID
  • DATASET:包含加速表的数据集
  • 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 查询的结果类似于以下内容:

包含 change_timestamp project_id project_number 的结果行

限制

BI Engine 首选表存在以下限制:

  • 您无法将视图添加到首选表预留列表中。BI Engine 首选表仅支持表。
  • 仅当具体化视图及其基表都位于首选表列表中时,才会加速对具体化视图的查询。
  • 不支持指定分区或列进行加速
  • JSON 类型列不受支持,BI Engine 不会加速这些列。
  • JOIN 查询中的所有表都必须位于要加速的首选表列表中。只要有一个表不在首选表列表中,查询就无法使用 BI Engine。
  • Google Cloud 控制台不支持公共数据集。如需将公共表添加为首选表,请使用 API 或 DDL。

价格

如需了解 BI Engine 价格,请参阅 BI Engine 价格页面。

后续步骤