关于错误:错误 – “意外。请重试。”在 BigQuery 中

Error - "Unexpected. Please try again." in BigQuery

我正在尝试使用 "select *" 和 "--destination_table" 选项将数据从一个表移动到另一个表,但我不断收到 "Unexpected" 错误。使用 where 子句尝试相同的查询(将数据限制为五秒间隔)会成功。

失败的 JobId - god-builder-586:bqjob_r7fe3d3a191881823_0000014662d302c5_1

成功的 JobId - god-builder-586:bqjob_r7f879846473f9b08_00000146631d5857_1

有什么想法吗?

查询成功如下:

选择 tstamp,uniq_id,INTEGER(ip) 作为 ip,devtype,FLOAT(price) 作为价格,FLOAT(altitude) 作为高度,FLOAT(longitude) 作为经度,FLOAT(latitude) 作为纬度 FROM [bigquery_processed.table_rc2] WHERE tstamp >=\\'2014-05-01 00:00:00\\' 和 tstamp <\\'2014-05-01 00:00:05\\'

职位 ID:神职人员-586:bqjob_r7f879846473f9b08_00000146631d5857_1

开始时间:2014 年 6 月 4 日凌晨 12:33

结束时间:2014 年 6 月 4 日凌晨 12:41

处理的字节数:22.8 TB

目标表:divine-builder-586:bigquery_processed.table_rc3

写入偏好:追加到表格

允许大结果:true

失败的查询没有where子句,其余相同。


这是我了解到的 - 当 BigQuery 中存在一些内部问题时,通常会发生意外错误。大多数情况下,在一段时间后再次运行作业可以解决问题。但有时 Google 需要调试和修复问题(如果您联系他们的支持团队)

希望它可以帮助某人:)


一种解决方法是使用带有 mod 函数的 WHERE 子句将数据分成更小的部分。

试试这个?

1
Select tstamp,uniq_id,INTEGER(ip) as ip,devtype, FLOAT(price) as price,FLOAT(altitude) as altitude,FLOAT(longitude) as longitude,FLOAT(latitude) as latitude FROM [bigquery_processed.table_rc2] WHERE ABS(HASH(devtype) % 2) = 0

然后用相同的查询追加表,只需 WHERE ABS(HASH(devtype) % 2) = 1.

老实说,这应该只是临时解决方法。它应该能够运行您的原始查询,因为没有带有大桶的 JOIN 或 GROUP BY。