我试图通过使用“select *”和“--destination_table”选项将数据从一个表移动到另一个表,但我不断收到“意外”错误。使用where子句尝试相同的查询,将数据限制为五秒间隔,这会导致成功。
失败的JobId - divine-builder-586:bqjob_r7fe3d3a191881823_0000014662d302c5_1
成功的JobId - divine-builder-586:bqjob_r7f879846473f9b08_00000146631d5857_1
任何想法?
成功的查询如下:
选择tstamp,uniq_id,INTEGER(ip)为ip,devtype,FLOAT(价格)为价格,FLOAT(海拔高度)为高度,FLOAT(经度)为经度,FLOAT(纬度)为纬度FROM [bigquery_processed.table_rc2]在哪里tstamp> ='2014-05-01 00:00:00'和tstamp<'2014-05-01 00:00:05'
职位编号:divine-builder-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
写入首选项:附加到表
允许大结果:是真的
失败的查询没有where子句,rest是相同的。
答案 0 :(得分:0)
一种解决方法是使用带有mod函数的WHERE
子句将数据拆分为更小的部分。
试试这个?
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。
答案 1 :(得分:0)
这就是我所知道的 - 当BigQuery中存在一些内部问题时,通常会发生意外错误。大部分时间在一段时间后再次运行作业修复了问题。但有时候谷歌需要调试并解决问题(如果你联系他们的支持团队)
希望它可以帮助某人:)