Google cloud platform 如果目标表未每日分区,则Bigquery数据传输失败

Google cloud platform 如果目标表未每日分区,则Bigquery数据传输失败,google-cloud-platform,google-bigquery,google-cloud-storage,Google Cloud Platform,Google Bigquery,Google Cloud Storage,我有一个Bigquery数据传输作业设置到一个按月份分区的目标表。已使用以下命令创建该表: bq mk --table \ --schema schema.json \ --time_partitioning_field createdAt \ --time_partitioning_type MONTH \ myprojec

我有一个Bigquery数据传输作业设置到一个按月份分区的目标表。已使用以下命令创建该表:

bq mk --table \                                                                              
  --schema schema.json \
  --time_partitioning_field createdAt \
  --time_partitioning_type MONTH \
  myproject:mydataset.MyTable
数据传输作业是使用Python BQDTS客户端创建的,如下所示:

parent = f"projects/myproject/locations/{location}"
baseparams = {
    "file_format": "CSV",
    "ignore_unknown_values": True,
    "field_delimiter": ",",
    "skip_leading_rows": "0",
    "allow_jagged_rows": True,
}
params = Struct()
params_content = baseparams.copy()
params_content[
    "data_path_template"
] = f"gs://mybucket/**/*.csv"
params_content["destination_table_name_template"] = "MyTable"

params.update(params_content)
tc_dict = {
    "display_name": target_display_name,
    "destination_dataset_id": "mydataset",
    "data_source_id": "google_cloud_storage",
    "schedule": "every 24 hours",
    "params": params,
}
tc = bigquery_datatransfer_v1.types.TransferConfig(**tc_dict)
response = client.create_transfer_config(
    request={"parent": parent, "transfer_config": tc}
)
正如您所看到的,作业定义中没有指定分区,它只在数据库表中指定,这应该符合:

分区选项 云存储和AmazonS3传输可以写入分区或非分区的目标表。BigQuery中有两种类型的表分区:

分区表:基于列进行分区的表。列类型必须是时间戳或日期列。 如果目标表是在列上分区的,则在创建目标表并指定其架构时标识分区列

此作业已成功运行数天,直到上周(上次成功运行于2020-11-04)。今晚(2020-11-10),作业失败,出现以下错误消息:

不兼容的表分区规范。目标表以分区规范间隔(类型:月,字段:createdAt)存在,但传输目标分区规范为间隔(类型:天,字段:createdAt)。请在更新目标表或传输分区规范后重试

我曾尝试用这种规范重新创建表和作业,但每次目标表分区类型为月份时,它都会失败。但是,如果分区类型是DAY,这仍然有效。最让我困惑的是消息“传输分区规范”,因为文档中似乎不存在这样一个参数


这是否是GCP中最近的API破坏性变化,尚未记录在案?

经过几周的调查和GCP团队方面的错误修复,该问题自2020年12月7日起得到解决。这确实是大查询传输服务中的一个错误。

经过几周的调查和GCP团队方面的错误修复,该问题自2020年12月7日起得到解决。这确实是大查询传输服务中的一个错误。

我建议您在上一次会议上提出一个问题,因为这似乎不是我所做的正常行为,GCP支持团队正在对此进行研究。我将在问题解决后更新此问题。Google支持部门的回复是:“关于“不兼容分区”错误,BigQuery工程团队已经发现了问题,他们正在进行修复。该团队估计此修复可能在12月的第一周结束时准备就绪。”我建议您在会议上提出一个问题,因为这似乎不是我所做的正常行为,GCP支持团队正在对此进行研究。我将在问题解决后更新此问题。Google支持部门的回复是:“关于“不兼容分区”错误,BigQuery工程团队已经发现了问题,他们正在进行修复。该团队估计此修复可能在12月的第一周结束时准备就绪。”