首页 > 解决方案 > 使用 CLI 将数据加载到列类型分区:不兼容的表分区规范

问题描述

在一个简单的 BQ 中,使用此 cmd 将一些 CSV 加载到新模式中,我们得到以下错误:

bq load --time_partitioning_field saved_timestamp
--skip_leading_rows=1 --max_bad_records=100 --allow_jagged_rows 
--replace --source_format=CSV --ignore_unknown_values  TABLE gs://.../export*.gz schema.json

不兼容的表分区规范。不期望分区规范,但输入分区规范是间隔(类型:天,字段:保存的时间戳)

我的期望是创建一个列类型的分区列。怎么了?

我们也可以使用相同的语法来指定聚类吗?

标签: google-bigquery

解决方案


在撰写本文时,存在一个限制,即您不能同时替换表和更改分区规范,这也被列为CREATE TABLE 语句的限制。使用 BigQuery CLI 时,您可以:

  • 将数据加载到具有所需分区/集群规范的新表中,
  • 删除要替换的表 ( bq rm dataset.table),
  • 将新表复制到旧表的名称(bq cp dataset.new_table dataset.table),然后
  • 删除新表 ( bq rm dataset.new_table)。

推荐阅读