Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Überwinde die Größenbeschränkung für 68k Codeblöcke

Fokusmodus
Überwinde die Größenbeschränkung für 68k Codeblöcke - 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.

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.

Athena für Spark hat eine bekannte Blockgrößenbeschränkung für Berechnungscodes von 68 000 Zeichen. Wenn Sie eine Berechnung mit einem Codeblock ausführen, der diesen Grenzwert überschreitet, kann die folgende Fehlermeldung angezeigt werden:

'...' at codeBlock 'hat die Einschränkung nicht erfüllt: Das Element muss eine Länge von höchstens 68000 haben

Die folgende Abbildung zeigt diesen Fehler im Notebook-Editor der Athena-Konsole.

Fehlermeldung zur Codeblockgröße im Athena-Notebook-Editor

Derselbe Fehler kann auftreten, wenn Sie AWS CLI um eine Berechnung auszuführen, die einen großen Codeblock enthält, wie im folgenden Beispiel.

aws athena start-calculation-execution \ --session-id "{SESSION_ID}" \ --description "{SESSION_DESCRIPTION}" \ --code-block "{LARGE_CODE_BLOCK}"

Der Befehl gibt die folgende Fehlermeldung aus:

{LARGE_CODE_BLOCK} at 'codeBlock' konnte die Einschränkung nicht erfüllen: Das Element muss eine Länge haben, die kleiner oder gleich 68000 ist

Workaround

Um dieses Problem zu umgehen, laden Sie die Datei mit Ihrem Anfrage- oder Berechnungscode auf Amazon S3 hoch. Verwenden Sie dann boto3, um die Datei zu lesen und Ihren SQL Oder-Code auszuführen.

In den folgenden Beispielen wird davon ausgegangen, dass Sie die Datei mit Ihrem SQL Abfrage- oder Python-Code bereits auf Amazon S3 hochgeladen haben.

SQLBeispiel

Der folgende Beispielcode liest die large_sql_query.sql Datei aus einem Amazon-S3-Bucket und führt dann die umfangreiche Abfrage aus, die die Datei enthält.

s3 = boto3.resource('s3') def read_s3_content(bucket_name, key): response = s3.Object(bucket_name, key).get() return response['Body'].read() # SQL sql = read_s3_content('bucket_name', 'large_sql_query.sql') df = spark.sql(sql)

PySpark Beispiel

Der folgende Beispielcode liest die large_py_spark.py-Datei aus einem Amazon-S3-Bucket und führt dann die umfangreiche Abfrage aus, die die Datei enthält.

s3 = boto3.resource('s3') def read_s3_content(bucket_name, key): response = s3.Object(bucket_name, key).get() return response['Body'].read() # PySpark py_spark_code = read_s3_content('bucket_name', 'large_py_spark.py') exec(py_spark_code)

Auf dieser Seite

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.