Google支持BigQuery中的分区表。分区您的表可以更轻松地管理数据并提高查询性能。分区可以降低写入和查询BigQuery仓库的成本。有关分区表的详细信息,请参阅 BigQuery的分区表文件

您可以在BigQuery中使用三种类型的表分区:

  • 按输入时间划分的表 :根据数据的摄取(负载)日期或抵达日期进行划分表
  • 按日期/时间戳/ datetime分区的表 :基于时间戳或日期或DateTime列进行分区的表
  • 按整数范围划分的表 :基于整数列分区的表
  • Fivetran支持摄入时间分区表、列分区表和整数范围分区表。

    注意:FiveTran仅支持基于每日(日)粒度的时间分区。我们不支持每小时,每月或年粒度。

    如果您的分区密钥不是基于源的主键,我们执行全表扫描以避免在同一表中的不同分区中写入重复。如果您的分区密钥基于您的源代码键,我们会自动优化我们将数据写入BigQuery。

    创建摄取时分区表 链接

    要创建按输入时间划分的表,请执行以下操作:

  • GCP控制台的BigQuery web UI

  • 在导航栏中,选择您的项目。

    选择您的项目

  • 找到Fivetran将使用的数据集作为目标。如果您没有数据集, 创建一个新数据集

    注意:创建将使用此数据集的连接器时,必须将目标架构(也将其成为连接器名称)命名,与数据集相同。

  • 授予 bigquery.dataowner. 将此数据集访问到服务帐户,以便它可以创建、删除和更新数据集中的表。有关详细说明,请参见 BigQuery关于控制访问数据集的访问的文档

  • 在详细信息面板中,选择 +创建表

  • 在里面 创建表 窗户:

  • 部分,保留默认值。
  • 目的地 部分,保留默认值 项目名称 数据集名称 , 和 表类型
  • 架构 部分,保留默认值。
  • 在里面 表名称 字段,在Fivetran的ERD中为连接器输入与相应表相同的名称。

    注意:如果连接器没有ERD,则必须在源中确定表名,并使用该名称为BIGQuery目标表。

  • 分区和群集设置 部分,选择 摄入时间分区

    摄入时间分区

  • 选择 创建表

  • 有关更多信息,请参阅 BigQuery的创建一个摄入时间分区表文档

    创建时间单元列划分或整数范围分区表 链接

    要将BigQuery的非分区表转换为列分区表或整数范围分区表,请执行以下操作:

    暂停连接器 链接

  • 去你的 Fivetran仪表板 并选择要将未分区表转换为分区表的连接器。

  • 检查仪表板右上角的连接器同步状态: 启用 暂停

    注意:如果您的连接器已暂停,请跳至 步骤2

  • 将连接器状态设置为to 暂停

  • 转换为分区表 链接

  • 要将现有表转换为分区表,请在BigQuery控制台中执行以下一个SQL语句。以下语句将创建一个分区表,从原始表插入数据,然后删除原始表:

  • 如果您想根据TIMESTAMP列对表进行分区,请使用:
  • 创建桌子[架构-名称]。复制划分经过日期([时间戳-柱子])作为选择*[架构-名称]。[桌子-名称];降低桌子[架构-名称]。[桌子-名称];
  • 如果要根据日期列分区表,请使用:
  • 创建桌子[架构-名称]。复制划分经过[日期-柱子]作为选择*[架构-名称]。[桌子-名称];降低桌子[架构-名称]。[桌子-名称];
  • 如果要根据DateTime列分区表,请使用:
  • 创建桌子[架构-名称]。复制划分经过[约会时间-柱子]作为选择*[架构-名称]。[桌子-名称];降低桌子[架构-名称]。[桌子-名称];
  • 如果要根据整数列分区表,请使用:
  • 创建桌子[架构-名称]。复制划分经过Range_bucket([整数-柱子],generate_array([开始],[结尾],[间隔]))作为选择*[架构-名称]。[桌子-名称];降低桌子[架构-名称]。[桌子-名称];
  • GCP控制台的BigQuery web UI

  • 在导航栏中,选择您的项目。

    选择您的项目

  • 选择您的数据集。在DataSet中,查找并选择您创建的复制表。

    单击表格

  • 重命名复制表以具有原始表的名称。在“详细信息”面板中,单击 复制表

    单击“复制”

  • 在表名称字段中,输入您的原始表的姓名并单击 复制

    输入原始名称

  • 删除副本表。在BigQuery查询编辑器中执行以下SQL命令:

    降低桌子[架构-名称]。复制;
  • 重要提示:对要转换的每个表重复上述说明。

    有关更多信息,请参阅bigquery的 创建时间单元列分区表 创建一个整数分区表 文档。

    启用连接器 链接

    去你的 Fivetran仪表板 并将连接器状态切换为 启用