Suchen von Abfrageausgabedateien in Amazon S3 - Amazon Athena

Suchen von Abfrageausgabedateien in Amazon S3

Abfrageausgabedateien werden in Unterordnern in Amazon S3 im folgenden Pfadmuster gespeichert, es sei denn, die Abfrage erfolgt in einer Arbeitsgruppe, deren Konfiguration clientseitige Einstellungen außer Kraft setzt. Wenn die Arbeitsgruppenkonfiguration clientseitige Einstellungen außer Kraft setzt, verwendet die Abfrage den von der Arbeitsgruppe angegebenen Ergebnispfad.

QueryResultsLocationInS3/[QueryName|Unsaved/yyyy/mm/dd/]
  • QueryResultsLocationInS3 ist der Speicherort des Abfrageergebnisses, der entweder durch Arbeitsgruppeneinstellungen oder clientseitige Einstellungen angegeben wird. Weitere Informationen finden Sie unter Angeben eines Speicherorts des Abfrageergebnisses an späterer Stelle in diesem Dokument.

  • Die folgenden Unterordner werden nur für Abfragen erstellt, die von der Konsole ausgeführt werden, deren Ergebnispfad nicht durch die Arbeitsgruppenkonfiguration außer Kraft gesetzt wurde. Abfragen, die über die AWS CLI oder mithilfe der Athena-API ausgeführt werden, werden direkt in QueryResultsLocationInS3 gespeichert.

    • QueryName ist der Name der Abfrage, deren Ergebnisse gespeichert wurden. Wenn die Abfrage ausgeführt, aber nicht gespeichert wurde, wird Unsaved verwendet.

    • yyyy/mm/dd (jjjj/mm/tt) ist das Datum, an dem die Abfrage ausgeführt wurde.

Dateien, die einer CREATE TABLE AS SELECT-Abfrage zugeordnet sind, werden in einem tables-Unterordner des obigen Musters gespeichert.

Identifizieren von Abfrageausgabedateien

Dateien werden basierend auf dem Namen der Abfrage, der Abfrage-ID und dem Datum, an dem die Abfrage ausgeführt wurde, am Speicherort des Abfrageergebnisses in Amazon S3 gespeichert. Die Dateien für jede Abfrage werden mit der QueryID benannt. Dabei handelt es sich um eine eindeutige Kennung, die Athena jeder Abfrage zuweist, wenn sie ausgeführt wird.

Die folgenden Dateitypen werden gespeichert:

Dateityp Dateibenennungsmuster Beschreibung

Abfrageergebnisdateien

QueryID.csv

QueryID.txt

DML-Abfrageergebnisdateien werden im CSV-Format (durch Komma getrennte Werte) gespeichert.

DDL-Abfrageergebnisse werden als reine Textdateien gespeichert.

Sie können Ergebnisdateien über die Konsole im Bereich Results (Ergebnisse) herunterladen, wenn Sie die Konsole verwenden oder über den Verlauf der Abfrage. Weitere Informationen finden Sie unter Herunterladen von Abfrageergebnisdateien mithilfe der Athena-Konsole.

Abfragemetadatendateien

QueryID.csv.metadata

QueryID.txt.metadata

DML- und DDL-Abfragemetadateien werden im Binärformat gespeichert und sind nicht lesbar. Die Dateierweiterung entspricht der zugehörigen Abfrageergebnisdatei. Athena verwendet die Metadaten beim Lesen von Abfrageergebnissen mithilfe der GetQueryResults-Aktion Obwohl diese Dateien gelöscht werden können, empfehlen wir dies nicht, da wichtige Informationen über die Abfrage verloren gehen.

Daten-Manifest-Dateien

QueryID-manifest.csv

Daten-Manifest-Dateien werden generiert, um Dateien nachzuverfolgen, die Athena in Amazon-S3-Datenquellenspeicherorten erstellt, wenn eine INSERT INTO-Abfrage ausgeführt wird. Wenn eine Abfrage fehlschlägt, verfolgt das Manifest auch Dateien, die die Abfrage schreiben wollte. Das Manifest ist nützlich für die Identifizierung verwaister Dateien, die aus einer fehlgeschlagenen Abfrage resultieren.

Um das AWS CLI zum Identifizieren des Abfrageausgabespeicherorts und der Ergebnisdateien zu verwenden, führen Sie den aws athena get-query-execution-Befehl wie im folgenden Beispiel aus. Ersetzen Sie abc1234d-5efg-67hi-jklm-89n0op12qr34 durch die Abfrage-ID.

aws athena get-query-execution --query-execution-id abc1234d-5efg-67hi-jklm-89n0op12qr34

Daraufhin erhalten Sie ein Ergebnis, das dem hier dargestellten entspricht. Beschreibungen der einzelnen Ausgabeparameter finden Sie unter get-query-execution in der AWS CLI-Befehlsreferenz.

{ "QueryExecution": { "Status": { "SubmissionDateTime": 1565649050.175, "State": "SUCCEEDED", "CompletionDateTime": 1565649056.6229999 }, "Statistics": { "DataScannedInBytes": 5944497, "DataManifestLocation": "s3://amzn-s3-demo-bucket/athena-query-results-123456789012-us-west-1/MyInsertQuery/2019/08/12/abc1234d-5efg-67hi-jklm-89n0op12qr34-manifest.csv", "EngineExecutionTimeInMillis": 5209 }, "ResultConfiguration": { "EncryptionConfiguration": { "EncryptionOption": "SSE_S3" }, "OutputLocation": "s3://amzn-s3-demo-bucket/athena-query-results-123456789012-us-west-1/MyInsertQuery/2019/08/12/abc1234d-5efg-67hi-jklm-89n0op12qr34" }, "QueryExecutionId": "abc1234d-5efg-67hi-jklm-89n0op12qr34", "QueryExecutionContext": {}, "Query": "INSERT INTO mydb.elb_log_backup SELECT * FROM mydb.elb_logs LIMIT 100", "StatementType": "DML", "WorkGroup": "primary" } }