Google bigquery 执行SELECT*from表会给出“无法将INT64类型的字段“记录”读取为UINT64”

Google bigquery 执行SELECT*from表会给出“无法将INT64类型的字段“记录”读取为UINT64”,google-bigquery,Google Bigquery,我遇到了一个似乎是全球BigQuery问题的问题,这可能是几天前才开始的。它肯定在2019年1月7日起作用。我将问题缩小到一个简单的SELECT*FROM表,它抛出一个不能读取的字段'records',类型为UINT64。记录字段在模式中声明为整数,表是聚合查询的结果 我在编程和BigQueryUI中都遇到了相同的错误 如果我显式地列出字符串字段,查询就会工作。只要我引用了整数记录,查询就会失败 作业id为dulcet-outlook-94110:US.bkuxjob_5883645e_1685

我遇到了一个似乎是全球BigQuery问题的问题,这可能是几天前才开始的。它肯定在2019年1月7日起作用。我将问题缩小到一个简单的SELECT*FROM表,它抛出一个不能读取的字段'records',类型为UINT64。记录字段在模式中声明为整数,表是聚合查询的结果

我在编程和BigQueryUI中都遇到了相同的错误

如果我显式地列出字符串字段,查询就会工作。只要我引用了整数记录,查询就会失败

作业id为dulcet-outlook-94110:US.bkuxjob_5883645e_16858aba0ae

或者,每个人都可以使用公共数据通过将以下查询保存到临时表中,然后执行简单的SELECT*from temp来复制此查询

这会产生一个稍有不同但本质上相同的错误:表temp中“cnt”列的类型不匹配。文件中的预期类型为“uint64”,实际类型为“int64”:mdb=云数据引擎


编辑:确保使用“允许大结果”,否则它将正常工作。

感谢您提出这个问题。这确实是BigQuery中的一个bug,现在已经完全推出了修复程序

对于断开的表,尽管数据没有丢失,但它们的状态与模式不一致。因此,如果可以,请尝试重新生成它们,因为目前它们的模式还不能自动修复它们自己。我们正在研究修复现有受影响表的模式的方法,但这可能需要一些时间


如果您仍然有任何问题,请随时向上面创建的公共问题跟踪程序WPFWANNA报告。

我可以重现错误-提供的所有步骤对我都有效。请报告问题追踪器,并添加作业ID,以便团队能够深入了解此问题。感谢您的确认,或许也可以将其作为答案发布?。我制造了一个问题。我希望它很快得到解决。这严重影响了我们的产品。请添加作业id。没有作业id会使调试变得非常困难。作业id已存在问题,问题链接到它。而且,这很容易复制。复制并不容易:我无法复制。请在问题请求中包含作业id,以便团队可以帮助您。只是想帮点忙,但你可以选择忽略。
SELECT state, count(*) cnt FROM [bigquery-public-data:samples.natality]
group by state