我有一个带有连接的大选择,其中两个表的大小相同,所以为了处理它我将右表上的选择限制为块(通过使用%),然后多次运行相同的选择,一个用于每个块并附加到目标表。
该过程适用于块0,1,2,但对于任何后续块,它都会失败并声称'提供的架构与表不匹配'。
一些失败的工作如下:
job_01eb892ab77c49f2ab5a7d24fa19ea96 (chunk 3)
job_ae450380bacd42b8aae7b7b350a8bd61 (chunk 4)
job_6f40617d0e6046e7b474dffef220ade7 (chunk 5)
job_edfbf86b95364efba3a21ae855827eb4 (chunk 6)
如果我删除表并单独运行第一个失败的块(3)(job_bbbd3c8b56594725a3d3933c79f96286),它可以正常运行,新表中的模式与预期的相同。
如果我有选择地处理块0,1,3,4,块3工作正常,现在它在4上失败(job_76c3addb316644f595988cbc393ffa8a),如果我运行块2,3,4,5它在块5上失败(job_c5d99e0fa0b0481b8e5ea6b5d6f26271)。
这看起来像BQ的一个问题是阻止将第四个块(无论哪个)附加到目标表,并且它给出了错误的错误描述。
有什么建议吗? 感谢
答案 0 :(得分:1)
这看起来像一个错误,当我们开始将表结果写入磁盘时,我们使用略微不同的架构格式。我已经检查了修复程序,但在下周发布之前可能无法使用。
答案 1 :(得分:0)
我认为这是一个已知错误,查询结果返回不可预测的字段模式(必需与可选)。 IIRC您可以使用AS或IF()来玩游戏以强制设置可选标志。