【发布时间】:2021-01-19 18:48:57
【问题描述】:
我正在使用新的 BQ 数据传输 UI,在安排数据传输时,传输失败。 运行历史记录中的错误消息并没有太大帮助,因为错误消息似乎被截断了。
Incompatible table partitioning specification. Expects partitioning specification interval(type:hour), but input partitioning specification is ; JobID: xxxxxxxxxxxx
请注意错误中显示...“但输入分区规范是...”的部分,分号前没有任何内容。似乎此错误已被截断。
关于运行的一些细节: 该运行每晚从位于 GCS 存储桶中的 CSV 文件导入数据。成功摄取后,该过程将删除该文件。 BQ中的目标表是使用默认分区伪列(_PARTITIONTIME)的分区表
到目前为止我做了什么:
- 重新运行计划的数据传输 - 失败并引发了同样的错误
- 删除 BQ 中的目标表并使用不同的分区规范(日、小时、月)重新创建它 - 然后重新运行计划传输 - 失败并引发相同的错误。
- 使用 BQ UI(创建表,附加特定表)手动导入数据(我从 GCS 下载文件并从我的机器本地上传) - 完美运行。
- 检查了这是否是 Stack Overflow 上的一个已知问题,只发现了这个问题(现已关闭)——关闭,但不完全是问题。 (BigQuery Data Transfer Service with BigQuery partitioned table)
我正在推迟做的事情,因为这需要更多的工作。
- 更改目标 BQ 表的架构以包含特定于分区的指定列
- 在 GCS 内部的原始文件中包含系统生成的时间戳,并确保进程将其识别为分区字段。
我做错了吗?或者这是一个已知问题?
【问题讨论】:
标签: google-bigquery