0

Ich hatte die folgende Fehlermeldung, wenn ich eine CSV.GZ Datei als eine Tabelle von Google-Speichern zu BigQuery mit dem Google Python-API-Client zu laden versucht:max schlechte Aufzeichnungen in Google 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}.'}} 

Mein Problem ist, dass ich in der api Anfrage angegeben, dass ich 100 Fehler, mit dem maxBadRecords Parameter, wie folgt ermöglichen wollte:

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, 
      } 
     } 
    } 

ich denke, dass Google BigQuery python API einen Fehler hat und es ist nicht der Auffassung, dass meine MAX_BAD_RECORDS gesetzt zu 100.

Kann mir jemand helfen?

Antwort

1

Ich denke, BQ hat Ihre MAX_BAD_RECORDS berücksichtigt, sonst wird die Meldung "Too many errors" nicht angezeigt. Der "{1}" ist wahrscheinlich ein Platzhalter, der durch das echte Limit ersetzt werden sollte, aber irgendwie übersehen wurde.