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

Ü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. Eine komplette Liste der nicht unterstützten DDL-Anweisungen in Athena finden Sie unter Nicht unterstützte DDLs.

    • 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.

    • DELETE FROM wird 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 angehören string. 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 Amazon Glacier – Informationen zum Abfragen wiederhergestellter Amazon-Glacier-Objekte finden Sie unter Wiederhergestellte Amazon-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 MB nicht überschreiten. Dieser Grenzwert kann überschritten werden, wenn beispielsweise eine Zeile eine einzelne Spalte mit 35 MB enthält. Dies ist eine harte Limit des Dienstes und kann nicht geändert werden.

  • Maximale Zeilenlänge in einer Textdatei — Die Größe einer einzelnen Zeile in einer Textdatei hat eine Obergrenze von 200 MB. Eine Überschreitung dieser Grenze kann auch die Fehlermeldung TextLineLengthLimitExceededException: Zu viele Bytes vor Zeilenumbruch erzeugen. Um diese Einschränkung zu umgehen, stellen Sie sicher, dass Sie keine einzelne Zeile in einer Textdatei haben, die größer als 200 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 von information_schema sind am leistungsstärksten, wenn Sie eine kleine bis mittelgroße Menge an AWS Glue-Metadaten haben. Wenn Sie eine große Menge an Metadaten haben, können Fehler auftreten. Weitere Informationen zum Abfragen der information_schema-Datenbank für AWS Glue-Metadaten finden Sie unter AWS Glue Data Catalog abfragen.

  • 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.