1

当我加载超过 1 个 csv 文件时,大查询如何处理错误?

bq 加载 --max_bad_record=30 dbname.finalsep20xyz gs://sep20new/abc.csv.gz,gs://sep20new/xyzcsv.gz

批处理作业中有一些文件可能无法加载,因为预期的列数不匹配。我想加载其余的文件。如果文件 abc.csv 失败,会执行 xyz.csv 文件吗?或者整个作业会失败并且不会插入任何记录?

我尝试使用虚拟记录,但无法最终找到如何处理多个文件中的错误。

4

1 回答 1

3

加载是原子的——要么所有文件都提交,要么没有文件提交。如果您希望它们独立完成,您可以将负载分解为多个作业。另一种方法是将 max_bad_records 设置为更高的值。

我们仍然希望您使用更多文件启动更少的作业,因为我们在处理导入方面具有更大的灵活性。也就是说,最近对负载配额的更改意味着您可以同时提交更多的负载作业,并且很快就会计划更高的配额。

另请注意,所有修改 BQ 状态的 BigQuery 操作(加载、复制、使用目标表查询)都是原子操作;唯一不是原子的作业类型是提取,因为在写出一些导出的数据后它可能会失败。

于 2012-09-20T14:25:25.760 回答