2017-06-17 3 views
0

Ich muss eine Abfrage ausführen, um Daten von S3 zu Rotverschiebung zu kopieren. Gesamtgröße der Daten zu kopieren 110GB Query for 1-2hr fein läuft nach, dass ich diesen Fehler sehenAusführen einer Abfrage zeigt Fehler auf AWS Redshift "Abfragen" Dashboard

There was an error retrieving the details for this query: Invalid Input. Expected Input: Load Id NOT_NULL, Load Status NOT_NULL 

Abfrage:

copy prod_data from 's3://my-buckets/prod-data/' 
access_key_id '' 
secret_access_key '' 
region 'eu-central-1' 
delimiter ',' 
MAXERROR 100000; 

Snapshot-Fehler: enter image description here

Bitte vorschlagen Wie kann ich dieses Problem lösen?

Antwort

0

Leider scheint die Redshift-Konsole manchmal etwas flockig zu sein, so dass Sie dieses Problem nicht wirklich "lösen" können.

Sie können jedoch umgehen und herausfinden, was mit Ihrer Ladung los ist. Die gesamte Webkonsole wird aus den integrierten Redshift-Systemtabellen gelesen, sodass Sie diese direkt abfragen und die Informationen stattdessen mit Ihrem SQL-Client abrufen können.

Die Tabelle stl_load_errors enthält Details zu Fehlern, die beim Laden Ihrer Daten aufgetreten sind (z. B. der Befehl COPY). Sie können hier diese mehr Informationen erfahren: http://docs.aws.amazon.com/redshift/latest/dg/r_STL_LOAD_ERRORS.html

Wenn Sie den Status von Anfragen überprüfen möchten, die ausgeführt werden, oder wurden ausgeführt vorher, können Sie auch die stl_query Tabelle verwenden: http://docs.aws.amazon.com/redshift/latest/dg/r_STL_QUERY.html

+0

gibt es keine Fehler in der Tabelle stl_load_errors eingeloggt. – Bhavesh

+0

Versuchen Sie in diesem Fall, stl_query zu verwenden, um die Ergebnisse Ihrer Abfrage zu ermitteln. Ich nehme an, Ihre Zieltabelle "prod_data" enthält keine Datensätze? Stl_load_errors speichert nur Datensätze für eine kurze Zeit, so dass es vorschlägt, dass entweder überhaupt kein Fehler mit Ihrer Ladung aufgetreten ist (der Fehler war nur in der Konsole) oder der Datensatz die Tabelle stl_load_errors verlassen hat. In diesem Fall Das Ausführen des Befehls copy sollte den Fehler wiederholen und Ihnen eine Zeile in der Tabelle geben. Überprüfen Sie auch die Ausgabe von Ihrem SQL-Client, denn wenn es eine unbehandelte Ausnahme gibt, kann es dort in der Ausgabe angezeigt werden. – GShenanigan

+0

Danke, werde versuchen und dich wissen lassen. – Bhavesh