当我试图使用客户端将.csv.gz文件作为表从谷歌存储加载到Bigquery时,我犯了以下错误:
{u'state': u'DONE', u'errors': [{u'reason': u'invalid', u'message': u'Too many errors encountered. Limit is: {1}.'},
{u'reason': u'invalid', u'message': u'Too many values in row starting at position:64490 in file:/gzip/subrange/gs://my-bucket/myfile.csv.gz'}],
u'errorResult': {u'reason': u'invalid', u'message': u'Too many errors encountered. Limit is: {1}.'}}
我的问题是,我在api请求中指定使用maxBadRecords参数允许100个错误,如下所示:
MAX_BAD_RECORDS = 100
body_query = {
'jobReference': {
'projectId': self.project_id,
'jobId': self._job_id
},
'configuration': {
'load': {
'destinationTable': {
'projectId': self.destination_table.project_id,
'datasetId': self.destination_table.dataset.id,
'tableId': self.destination_table.id,
},
'fieldDelimiter': self.delimiter,
'maxBadRecords': MAX_BAD_RECORDS,
'schema': {
'fields': self.schema
},
'sourceUris': self.source_uris,
'skipLeadingRows': self.skip_leading_rows_number,
'writeDisposition': self.write_disposition,
"createDisposition": self.create_disposition,
}
}
}
我认为Google bigQuery python有一个bug,它不认为我的MAX_BAD_RECORDS设置为100。
有人能帮我吗?
发布于 2016-05-23 18:47:17
我认为BQ确实尊重了您的MAX_BAD_RECORDS,否则您将不会看到“太多错误”的信息。"{1}“可能是一个占位符,应该用实际的限制替换,但不知何故错过了。
https://stackoverflow.com/questions/37329980
复制相似问题