2017-02-22 2 views
3

Ich versuche, die Daten einer csv-Datei zu laden, die in GCS in BigQuery gespeichert ist. Die CSV-Datei befindet sich im Format UTF-8 und enthält 7 Spalten. Ich habe diese Spalten im Datenschema angegeben (alle Strings und NULL-Werte) und habe den Inhalt der CSV-Datei überprüft, der gut zu sein scheint.BigQuery-Fehler beim Laden der CSV-Datei aus Google Cloud Storage

Wenn ich versuche, die Daten, die ich die folgende Störung zu laden:

Too many errors encountered. (error code: invalid) gs://gvk_test_bucket/sku_category.csv: CSV table references column position 1, but line starting at position:1750384 contains only 1 columns. (error code: invalid)

Das Seltsame ist, dass die Datei 680.228 Zeilen enthält nur.

Wenn ich die Optionen allow jagged lines überprüfe, wird die Tabelle generiert, aber nur die erste Spalte wird mit der gesamten kommagetrennten Zeichenfolge gefüllt.

Kann mir jemand helfen?

Beispiel Reihe

119470,Fashion,Fashion Own,Menswear,Menswear Brands Other,Formal Shirts,Long Sleeve Shirts

+0

Haben Sie Zeile 1750384 in der Datei überprüft? Wenn Sie die Anzahl der erlaubten Fehler auf 1 setzen, wird sie geladen? Können Sie eine Beispielzeile teilen? –

+0

Ja, diese Zeile ist leer, die Datei enthält nur 680228 Zeilen. Es gibt keine Möglichkeit zu sagen, wie viele Zeilen die Datei enthält, richtig? Ich habe die Zahl auf 1 und danach auf 100 gesetzt, aber dann wird derselbe Fehler für eine andere Zeile zurückgegeben. – gvkleef

+0

Hier ist ein Beispiel Zeile: 119470, Mode, Mode Own, Menswear, Menswear Marken andere, formale Shirts, Langarmshirts – gvkleef

Antwort

2

Sie können keine leere Zeilen ohne Trennzeichen in der Datei haben, sonst BigQuery (und so ziemlich jede andere Ingest-Motor) wird denken, es nur eine Spalte ist.

Zum Beispiel diese in Zeile 3 mit dem Fehler fehlschlagen werden Sie beschreiben:

119470,Fashion,Fashion Own,Menswear,Menswear Brands Other,Formal Shirts,Long Sleeve Shirts 

119471,Fashion,Fashion Own,Womenswear,Womensswear Brands Other,Formal Shirts,Long Sleeve Shirts 

Dies wird gelingen:

119470,Fashion,Fashion Own,Menswear,Menswear Brands Other,Formal Shirts,Long Sleeve Shirts 
,,,,,,,  
119471,Fashion,Fashion Own,Womenswear,Womensswear Brands Other,Formal Shirts,Long Sleeve Shirts 
+0

Danke für Ihren Kommentar.Die Fehlernummer war größer als die maximale Zeilennummer in meinem Excel. Es gab also keine leeren Zeilen innerhalb des Datensatzes. Es scheint, BQ hört nicht auf, die Daten nach der letzten Zeile in meinem CSV zu lesen. – gvkleef

+0

Entschuldigung, ich folge dir nicht. Was meinen Sie? –

+0

Das zum Beispiel mein csv enthält 80000 Zeilen und ich bekomme Fehler in Zeile 81000, 82500 usw. – gvkleef

0

Sie entweder eine leere Zeile

119470,Fashion,Fashion Own,Menswear,Menswear Brands Other,Formal Shirts 

119472,Fashion,Fashion Own,Menswear,Menswear Brands Other,Formal Shirts 

Oder eine Zeile mit Anführungszeichen

119470,Fashion,Fashion Own,Menswear,Menswear Brands Other,Formal Shirts 
"119471,Fashion,Fashion Own,Menswear,Menswear Brands Other,Formal Shirts" 
119472,Fashion,Fashion Own,Menswear,Menswear Brands Other,Formal Shirts 

Ich denke, es gibt einen Fehler in der BigQuery-Antwort. Die Zeilennummer im Fehler ist tatsächlich die Anzahl der Zeichen vor dem Fehler.

+0

Wie ist das anders als meine Antwort? –

+0

Die Frage ist auch die Tatsache, dass der Fehler eine Zeilennummer höher als die Gesamtzahl der Zeilen im Dataset angibt. Ich habe versucht, eine umfassendere Antwort mit mehr Details zu geben. – Marl

Verwandte Themen