Ü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 LIKEwird nicht unterstützt. -
DESCRIBE INPUTundDESCRIBE OUTPUTwerden 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 FROMwird 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 Typstringverwenden, 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 mitstringfest, 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 Zeilenumbrucherzeugen. 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 lautet9223372036854775807. Bei Verwendung von
ORDER BYist die maximale Anzahl unterstützter Zeilen für die LIMIT-Klausel 2 147 483 647. Ein Überschreiten dieser Grenze führt zur FehlermeldungNOT_SUPPORTED: ORDER BY LIMIT > 2147483647 is not supported(NOT_SUPPORTED: ORDER BY LIMIT > 2147483647 wird nicht unterstützt). -
information_schema – Abfragen von
information_schemasind 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 derinformation_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_sizeund$partitionwerden 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.