Überlegungen und Einschränkungen für SQL-Abfragen in Amazon Athena - Amazon Athena

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Überlegungen und Einschränkungen für SQL-Abfragen in Amazon Athena

Beachten Sie beim Ausführen von Abfragen in Athena die folgenden Überlegungen und Einschränkungen:

  • Gespeicherte Verfahren – Gespeicherte Verfahren werden nicht unterstützt.

  • Maximale Anzahl von Partitionen – Die maximale Anzahl von Partitionen, die Sie mit CTAS-Anweisungen (CREATE TABLE AS SELECT) erstellen können, beträgt 100. Weitere Informationen finden Sie unter CREATE TABLE AS. Eine Problemumgehung finden Sie unter Verwenden von CTAS und INSERT INTO zum Umgehen des Limits von 100 Partitionen.

  • Nicht unterstützte Anweisungen – Die folgenden Anweisungen werden nicht unterstützt:

    • CREATE TABLE LIKE wird nicht unterstützt.

    • DESCRIBE INPUT und DESCRIBE OUTPUT werden nicht unterstützt.

    • Die MERGE-Anweisung wird nur für Transaktionstabellenformate unterstützt. Weitere Informationen finden Sie unter MERGE INTO.

    • UPDATE-Anweisungen werden nicht unterstützt.

  • Trino- und Presto-Konnektoren – Weder Trino- noch Presto-Konnektoren werden unterstützt. Sie können mit Amazon Athena Federated Query verbinden. Weitere Informationen finden Sie unter Nutzung von Amazon-Athena-Verbundabfrage.

  • Zeitüberschreitungen für Tabellen mit vielen Partitionen – Bei Athena können Zeitüberschreitungen bei Abfragen zu einer Tabelle auftreten, die Tausende von Partitionen enthält. Das kann vorkommen, wenn die Tabelle viele Partitionen hat, die nicht dem Typ string angehören. Wenn Sie den Typ string verwenden, schneidet Athena Partitionen auf MetaStore-Ebene heraus. Verwenden Sie jedoch andere Datentypen, schneidet Athena Partitionen auf der Serverseite heraus. Je mehr Partitionen vorhanden sind, desto länger dauert dieser Vorgang und desto wahrscheinlicher ist es, dass eine Zeitüberschreitung für Ihre Abfragen eintritt. Um dieses Problem zu beheben, legen Sie den Partitionstyp mit string fest, sodass Athena Partitionen auf MetaStore-Ebene herauschneidet. Dies reduziert den Overhead und verhindert, dass Zeitüberschreitungen bei Abfragen auftreten.

  • Unterstützung von S3 Glacier – Informationen zum Abfragen wiederhergestellter Amazon-S3-Glacier-Objekte finden Sie unter Wiederhergestellte Amazon-S3-Glacier-Objekte abfragen.

  • Als augeblendet behandelte Dateien – Athena behandelt Quelldateien, die mit einem Unterstrich (_) oder einem Punkt (.) beginnen, als ausgeblendet. Benennen Sie die Dateien um, um diese Einschränkung zu umgehen.

  • Begrenzung der Zeilen- oder Spaltengröße – Die Größe einer einzelnen Zeile oder ihrer Spalten darf 32 Megabyte nicht überschreiten. Dieser Grenzwert kann überschritten werden, wenn beispielsweise eine Zeile in einer CSV- oder JSON-Datei eine einzelne Spalte mit 300 Megabyte enthält. Eine Überschreitung dieser Grenze kann auch die Fehlermeldung Zeile zu lang in Textdatei erzeugen. Um diese Einschränkung zu umgehen, stellen Sie sicher, dass die Summe der Daten der Spalten in jeder Zeile kleiner als 32 MB ist.

  • LIMIT-Klausel-Maximalwert – Die maximale Anzahl von Zeilen für die LIMIT-Klausel lautet

    9223372036854775807. Bei Verwendung von ORDER BY ist die maximale Anzahl unterstützter Zeilen für die LIMIT-Klausel 2 147 483 647. Ein Überschreiten dieser Grenze führt zur Fehlermeldung NOT_SUPPORTED: ORDER BY LIMIT > 2147483647 is not supported (NOT_SUPPORTED: ORDER BY LIMIT > 2147483647 wird nicht unterstützt).

  • information_schema — Abfragen sind am performantesten, wenn Sie über information_schema eine geringe bis mäßige Menge an Metadaten verfügen. AWS Glue Wenn Sie eine große Menge an Metadaten haben, können Fehler auftreten. Hinweise zum Abfragen von Metadaten in der information_schema Datenbank finden Sie unter. AWS Glue Abfragen von AWS Glue Data Catalog

  • Array-Initialisierungen – Aufgrund einer Einschränkung in Java ist es nicht möglich, ein Array in Athena zu initialisieren, das mehr als 254 Argumente hat.

  • Versteckte Metadatenspalten – Die versteckten Hive- oder Iceberg-Metadatenspalten $bucket, $file_modified_time, $file_size und $partition werden für Ansichten nicht unterstützt. Informationen zur Verwendung der $path-Metadatenspalte in Athena finden Sie unter Abrufen der Dateispeicherorte für Quelldaten in Amazon S3 .

Informationen zur maximalen Länge von Abfragezeichenfolgen, Kontingenten für Abfrage-Timeouts und Kontingenten für die aktive Anzahl von DML-Abfragen finden Sie unter Service Quotas.