Fehlerbehebung bei Datenübertragungen

Auf dieser Seite wird beschrieben, wie Sie Probleme beheben, die beim Übertragen oder Laden von Daten in BigQuery auftreten. Sie können häufige Fehler im Zusammenhang mit dem BigQuery Data Transfer Service, Netzwerkverbindungen zwischen Cloud de Confiance by S3NS, Amazon Web Services (AWS), Cloud SQL und VPC-Netzwerken (Virtual Private Cloud) sowie CSV-Datenladejobs aus Cloud Storage beheben.

Fehlerbehebung bei Übertragungskonfigurationen

Informationen zur Fehlerbehebung bei BigQuery Data Transfer Service finden Sie unter Fehlerbehebung bei Übertragungskonfigurationen.

Wenn Sie Übertragungen aus externen Datenquellen oder Partnerdatenquellen einrichten oder ausführen, lesen Sie den Abschnitt Fehlerbehebung bei der Einrichtung von Drittanbieter-Übertragungen.

Jobs mit INFORMATION_SCHEMA-Ansichten diagnostizieren

Sie können die Ansicht INFORMATION_SCHEMA.JOBS abfragen, um fehlgeschlagene oder langsame Ladejobs und Übertragungsabfragen nahezu in Echtzeit zu diagnostizieren. Wenn ein Ladejob oder eine Übertragungsabfrage fehlschlägt, sehen Sie sich die Spalten error_result und errors an, um die Ursache zu ermitteln, z. B. Schemaabweichungen, Kontingentlimits oder Berechtigungsfehler.

Im folgenden Beispiel wird INFORMATION_SCHEMA.JOBS abgefragt, um Fehlerdetails für fehlgeschlagene Ladejobs der letzten 24 Stunden abzurufen:

SELECT
  job_id,
  creation_time,
  user_email,
  error_result.reason AS error_reason,
  error_result.message AS error_message,
  errors
FROM
  `region-REGION`.INFORMATION_SCHEMA.JOBS
WHERE
  job_type = 'LOAD'
  AND state = 'DONE'
  AND error_result IS NOT NULL
  AND creation_time > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY)
ORDER BY
  creation_time DESC;

Ersetzen Sie <var>REGION</var> durch den Namen der Dataset-Region, z. B. us oder europe-west1.

Probleme mit Netzwerkverbindungen bei der Übertragung beheben

Wenn Sie Daten von externen Cloud-Anbietern oder privaten Datenbankinstanzen übertragen, kann die Verbindung durch Netzwerkrouting oder Firewallregeln blockiert werden. In den folgenden Abschnitten finden Sie Informationen zur Fehlerbehebung bei VPN-Anhängen und privaten Netzwerkverbindungen.

AWS-Cloud de Confiance VPN- und Netzwerkanhänge

Wenn Sie Probleme beim Einrichten der Netzwerkverbindung haben, gehen Sie so vor:

  • Prüfen Sie, ob die VPN-Verbindungen sowohl in der AWS-Konsole als auch in der Cloud de Confiance Konsole aktiv sind.
  • Prüfen Sie die VPN-Logs auf Fehler oder verworfene Pakete.
  • Prüfen Sie, ob die Routingtabellen sowohl in AWS als auch inCloud de Confiance richtig konfiguriert sind.
  • Achten Sie darauf, dass die erforderlichen Ports sowohl in den AWS-Sicherheitsgruppen als auch in den Cloud de Confiance Firewallregeln geöffnet sind.

Weitere Informationen zum Konfigurieren von VPN-Anhängen finden Sie unter AWS-Cloud de Confiance VPN und Netzwerk-Anhang erstellen.

Cloud SQL-Instanzzugriff

Wenn Probleme beim Einrichten der Netzwerkkonfiguration auftreten, gehen Sie so vor:

  • Prüfen Sie, ob das VPC-Peering eingerichtet und die Routen richtig konfiguriert sind.
  • Prüfen Sie, ob die Firewallregeln Traffic an den erforderlichen Ports zulassen.
  • Prüfen Sie die Cloud SQL-Proxy-Logs auf Fehler und stellen Sie sicher, dass der Proxy richtig ausgeführt wird.
  • Prüfen Sie, ob die Netzwerkanbindung richtig konfiguriert und verbunden ist.

Weitere Informationen zum Konfigurieren des privaten Datenbankzugriffs finden Sie unter Verbindung zu einer Cloud SQL-Instanz herstellen.

Fehlerbehebung beim Laden von CSV-Dateien

Wenn Sie CSV-Daten aus Cloud Storage in BigQuery laden, können Jobs aufgrund von Formatierungsfehlern, Dateigrößenlimits oder Problemen bei der automatischen Schemaerkennung fehlschlagen. In den folgenden Abschnitten erfahren Sie, wie Sie häufige Fehler beim Laden von CSV-Dateien beheben.

Fehler beim Parsen beheben

Wenn beim Parsen Ihrer CSV-Dateien ein Problem auftritt, wird die errors-Ressource des Ladejobs mit den Fehlerdetails gefüllt.

Im Allgemeinen identifizieren diese Fehler den Anfang der problematischen Zeile mit einem Byte-Offset. Bei unkomprimierten Dateien können Sie mit dem Argument --recursive auf gcloud storage zugreifen, um auf die relevante Zeile zuzugreifen.

Führen Sie beispielsweise den Befehl bq load aus und erhalten Sie eine Fehlermeldung:

bq load
    --skip_leading_rows=1 \
    --source_format=CSV \
    mydataset.mytable \
    gs://my-bucket/mytable.csv \
    'Number:INTEGER,Name:STRING,TookOffice:STRING,LeftOffice:STRING,Party:STRING'

Der Fehler in der Ausgabe sieht in etwa so aus:

Waiting on bqjob_r5268069f5f49c9bf_0000018632e903d7_1 ... (0s)
Current status: DONE
BigQuery error in load operation: Error processing job
'myproject:bqjob_r5268069f5f49c9bf_0000018632e903d7_1': Error while reading
data, error message: Error detected while parsing row starting at position: 1405.
Error: Data between close quote character (") and field separator.
File: gs://my-bucket/mytable.csv
Failure details:
- gs://my-bucket/mytable.csv: Error while reading data,
error message: Error detected while parsing row starting at
position: 1405. Error: Data between close quote character (") and
field separator. File: gs://my-bucket/mytable.csv
- Error while reading data, error message: CSV processing encountered
too many errors, giving up. Rows: 22; errors: 1; max bad: 0; error
percent: 0

Basierend auf dem vorherigen Fehler ist in der Datei ein Formatfehler aufgetreten. Führen Sie den Befehl gcloud storage cat aus, um den Inhalt der Datei aufzurufen:

gcloud storage cat 1405-1505 gs://my-bucket/mytable.csv --recursive

Die Ausgabe sieht etwa so aus:

16,Abraham Lincoln,"March 4, 1861","April 15, "1865,Republican
18,Ulysses S. Grant,"March 4, 1869",
...

Basierend auf der Ausgabe der Datei ist das Problem ein falsch platziertes Anführungszeichen in "April 15, "1865.

Komprimierte CSV-Dateien

Das Debugging von Parsing-Fehlern ist für komprimierte CSV-Dateien schwieriger, da sich der gemeldete Byte-Offset auf den Speicherort in der unkomprimierten Datei bezieht. Mit dem folgenden gcloud storage cat-Befehl wird die Datei aus Cloud Storage gestreamt, dekomprimiert die Datei, identifiziert den entsprechenden Byte-Offset und gibt die Zeile mit dem Formatfehler aus:

gcloud storage cat gs://my-bucket/mytable.csv.gz | gunzip - | tail -c +1406 | head -n 1

Die Ausgabe sieht etwa so aus:

16,Abraham Lincoln,"March 4, 1861","April 15, "1865,Republican

Kontingentfehler beheben

Mithilfe der Informationen in diesem Abschnitt können Sie Fehler im Zusammenhang mit Kontingenten oder Limits beheben, die beim Laden von CSV-Dateien in BigQuery auftreten.

Wenn Sie eine große CSV-Datei mit dem Befehl bq load mit dem Flag --allow_quoted_newlines laden, kann dieser Fehler auftreten.

Fehlermeldung

Input CSV files are not splittable and at least one of the files is larger than
the maximum allowed size. Size is: ...

Lösung

So beheben Sie diesen Kontingentfehler:

  • Legen Sie das Flag --allow_quoted_newlines auf false fest.
  • Teilen Sie die CSV-Datei in kleinere Blöcke mit jeweils weniger als 4 GB auf.

Weitere Informationen zu Limits, die beim Laden von Daten in BigQuery gelten, finden Sie unter Ladejobs.

Fehlerbehebung bei der automatischen Schemaerkennung

Bei der automatischen Schemaerkennung für CSV-Dateien kann der folgende Fehler auftreten:

Fehler: Error while reading data, error message: CSV processing encountered too many errors, giving up.

Dieser Fehler kann auftreten, wenn Ihre CSV-Datei eine Kopfzeile mit Stringwerten enthält und BigQuery sie nicht als Kopfzeile erkannt hat. Mit der Option --skip_leading_rows können Sie die Kopfzeile überspringen.