

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 Beschränkung der Codeblockgröße auf 68k überwinden
<a name="notebooks-spark-troubleshooting-code-block-size-limit"></a>

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:

'...' bei 'codeBlock' konnte Einschränkung nicht erfüllen: Mitglied muss eine Länge von höchstens 68 000 haben

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

![Fehlermeldung zur Codeblockgröße im Athena-Notebook-Editor](http://docs.aws.amazon.com/de_de/athena/latest/ug/images/notebooks-spark-troubleshooting-code-block-size-limit-1.png)


Derselbe Fehler kann auftreten, wenn Sie die verwenden 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 von weniger als oder gleich 68000 haben

## Workaround
<a name="notebooks-spark-troubleshooting-code-block-size-limit-workaround"></a>

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 Ihr SQL oder Ihren Code auszuführen.

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

### SQL-Beispiel
<a name="notebooks-spark-troubleshooting-code-block-size-limit-sql-example"></a>

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
<a name="notebooks-spark-troubleshooting-code-block-size-limit-pyspark-example"></a>

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)
```