谷歌大查询后端错误
Posted
技术标签:
【中文标题】谷歌大查询后端错误【英文标题】:Google big query backend error 【发布时间】:2013-07-15 19:18:46 【问题描述】:我在 Google Big Query 上提交了一些日志文件,并且已经制定了大约 7 个月的流程。我们已经重建了站点,所以我制作了一个新表和几乎相同的过程。我可以从 Google 存储中批量上传旧文件,并且大多数文件都会毫无意外地加载。然后我在cronjob中运行同一个程序,BQ报后端错误,数据没有加载。
文件被压缩并以制表符分隔。我正在使用 Python gzip 包。我相信我已经通过阅读原始文件对这些文件进行了正确的预处理,删除了所有没有正确数量的字段(在本例中为 476)的行,然后写入并上传到谷歌存储。错误几乎总是发生在文件末尾。同样奇怪的是,我对坏行设置了很高的容忍度,并将 BQ 设置为将所有字段读取为字符串。它仍然没有加载。
Error loading table: u'endTime': u'1373914994246',
u'load': u'inputFileBytes': u'528384',
u'inputFiles': u'1',
u'outputBytes': u'0',
u'outputRows': u'4610',
u'startTime': u'1373914986420'
u'errorResult': u'location': u'Line:4612 / Field:1',
u'message': u'Error reading source file',
u'reason': u'backendError',
u'errors': [u'location': u'Line:4611 / Field:125',
u'message': u'Bad character (ASCII 0) encountered: field starts with: <1373339>',
u'reason': u'invalid',
u'location': u'Line:4612 / Field:1',
u'message': u'Error reading source file',
u'reason': u'backendError'],
u'state': u'DONE'
我正在从 FTP 下载文件,并写入一个临时文件。然后我用local_file = gzip.open(fname, 'r')
打开那个文件。然后我读取它看每一行是不是476个字段,如果不是,我写在别处,如果是,我在本地写。 local_file.write(row)
。然后像这样到 Google Storage:
args = ['python','/path/to/gsutil/gsutil', 'cp', local_file, folder]
call(args)
【问题讨论】:
您能否发送您的工作 ID 以便我们(Google BigQuery 工程师)进行调查? 当然,这个表的旧版本有一个错误(我使用的是相同的加载规范)。 job_af9221ada5534f16acc1c7855fd6f76c。这是一个较新的,我更关心并且目前正在重新加载所有文件:job_3a95ce0bec184100b99a45900a261b00 【参考方案1】:解压 gzip 文件时出错。一种解决方法可能是先解压缩文件。我还在调查。
【讨论】:
感谢您的调查。我稍微编辑了我的问题以添加更多细节,但我认为这不会有帮助。以上是关于谷歌大查询后端错误的主要内容,如果未能解决你的问题,请参考以下文章