

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.

# Magics-Befehle verwenden
<a name="notebooks-spark-magics"></a>

Magische Befehle oder Magics sind spezielle Befehle, die Sie in einer Notebook-Zelle ausführen können. Beispielsweise zeigt `%env` die Umgebungsvariablen in einer Notebook-Sitzung an. Athena unterstützt die magischen Funktionen in IPython 6.0.3. 

Dieser Abschnitt zeigt einige wichtige Magics-Befehle in Athena für Apache Spark.
+  Um eine Liste von Magics-Befehlen in Athena anzuzeigen, führen Sie den Befehl **%lsmagic** in einer Notebook-Zelle aus. 
+ Informationen zur Verwendung von Magics zur Erstellung von Diagrammen in Athena-Notebooks finden Sie unter [Verwenden Sie Magics, um Datendiagramme zu erstellen](notebooks-spark-magics-graphs.md).
+ Informationen zu zusätzlichen magischen Befehlen finden Sie in der [Dokumentation unter Integrierte magische Befehle](https://ipython.readthedocs.io/en/stable/interactive/magics.html). IPython 

**Anmerkung**  
Derzeit schlägt der `%pip`-Befehl bei der Ausführung fehl. Dies ist ein bekanntes Problem. 

**Topics**
+ [Zellen-Magics](notebooks-spark-magics-cell-magics.md)
+ [Linien-Magics](notebooks-spark-magics-line-magics.md)
+ [Diagramm-Magics](notebooks-spark-magics-graphs.md)

# Zellen-Magics verwenden
<a name="notebooks-spark-magics-cell-magics"></a>

Magics, die sich über mehrere Zeilen verteilen, wird ein doppeltes Prozentzeichen (`%%`) vorangestellt und sie werden als Zellen-Magic-Funktionen oder Zellen-Magics bezeichnet.

## %%sql
<a name="notebooks-spark-magics-sql"></a>

Diese Zellen-Magics ermöglicht es, SQL-Anweisungen direkt auszuführen, ohne sie mit einer Spark-SQL-Anweisung verzieren zu müssen. Der Befehl zeigt auch die Ausgabe an, indem er implizit den zurückgegebenen Datenrahmen `.show()` aufruft.

![\[Verwenden von %%sql\]](http://docs.aws.amazon.com/de_de/athena/latest/ug/images/notebooks-spark-magics-1.png)


Der `%%sql`-Befehl kürzt Spaltenausgaben automatisch auf eine Breite von 20 Zeichen. Diese Einstellung ist derzeit nicht konfigurierbar. Um diese Einschränkung zu umgehen, verwenden Sie die folgende vollständige Syntax und ändern Sie die Parameter der `show`-Methode entsprechend. 

```
spark.sql("""YOUR_SQL""").show(n=number, truncate=number, vertical=bool)
```
+ **n** `int`, optional. Die Anzahl der anzuzeigenden Zeilen.
+ **kürzt** – `bool` oder `int`, optional – wenn `true`, kürzt Zeichenketten, die länger als 20 Zeichen sind. Wenn dieser Wert auf eine Zahl größer als 1 gesetzt ist, werden lange Zeichenketten auf die angegebene Länge gekürzt und die Zellen werden rechtsbündig ausgerichtet.
+ **vertikal** – `bool`, optional. Wenn `true`, werden die Ausgabezeilen vertikal ausgedruckt (eine Zeile pro Spaltenwert).

# Zeilen-Magics verwenden
<a name="notebooks-spark-magics-line-magics"></a>

Magics, die sich auf einer einzelnen Zeile befinden, wird ein Prozentzeichen (`%`) vorangestellt und sie werden als Zeilen-Magic-Funktionen oder Zeilen-Magics bezeichnet.

## %help
<a name="notebooks-spark-magics-help"></a>

Zeigt Beschreibungen der verfügbaren Magic-Befehle an.

![\[Verwenden von %help\]](http://docs.aws.amazon.com/de_de/athena/latest/ug/images/notebooks-spark-magics-2.png)


## %list\$1sessions
<a name="notebooks-spark-magics-list_sessions"></a>

Listet die mit dem Noebook verknüpften Sitzungen auf. Zu den Informationen für jede Sitzung gehören die Sitzungs-ID, der Sitzungsstatus sowie Datum und Uhrzeit des Beginns und Endes der Sitzung.

![\[Verwenden von %list_sessions\]](http://docs.aws.amazon.com/de_de/athena/latest/ug/images/notebooks-spark-magics-3.png)


## %session\$1id
<a name="notebooks-spark-magics-session_id"></a>

Ruft die aktuelle Sitzungs-ID ab.

![\[Verwenden von session_id\]](http://docs.aws.amazon.com/de_de/athena/latest/ug/images/notebooks-spark-magics-4.png)


## %set\$1log\$1level
<a name="notebooks-spark-magics-set_log_level"></a>

Setzt den Logger auf die angegebene Protokollstufe oder setzt ihn zurück. Die möglichen Werte sind `DEBUG`, `ERROR`, `FATAL`, `INFO` und `WARN` oder `WARNING`. Werte müssen in Großbuchstaben geschrieben sein und dürfen nicht in einfache oder doppelte Anführungszeichen eingeschlossen sein.

![\[Verwenden von %set_log_level\]](http://docs.aws.amazon.com/de_de/athena/latest/ug/images/notebooks-spark-magics-5.png)


## %status
<a name="notebooks-spark-magics-status"></a>

Beschreibt die aktuelle Sitzung. Die Ausgabe umfasst die Sitzungs-ID, den Sitzungsstatus, den Arbeitsgruppennamen, die PySpark Engine-Version und die Startzeit der Sitzung. Dieser Magic-Befehl erfordert eine aktive Sitzung, um Sitzungsdetails abzurufen.

Folgende Werte sind für Status möglich:

**ERSTELLEN** – Die Sitzung wird gestartet, einschließlich des Erwerbs von Ressourcen.

**ERSTELLT** – Die Sitzung wurde gestartet.

**UNTÄTIG** – Die Sitzung kann eine Berechnung akzeptieren.

**BESCHÄFTIGT** – Die Sitzung verarbeitet gerade eine andere Aufgabe und kann keine Berechnung akzeptieren.

**BEENDE** – Der Service wird gerade heruntergefahren.

**BEENDET** – Die Sitzung und ihre Ressourcen werden nicht mehr ausgeführt.

**HERABGESTUFT** – Die Sitzung hat keine funktionierenden Koordinatoren.

**FEHLGESCHLAGEN** – Aufgrund eines Fehlers werden die Sitzung und ihre Ressourcen nicht mehr ausgeführt.

![\[Verwenden von %status\]](http://docs.aws.amazon.com/de_de/athena/latest/ug/images/notebooks-spark-magics-6.png)


# Verwenden Sie Magics, um Datendiagramme zu erstellen
<a name="notebooks-spark-magics-graphs"></a>

Die Linien-Magics in diesem Abschnitt spezialisieren sich auf das Rendern von Daten für bestimmte Datentypen oder in Verbindung mit Grafikbibliotheken.

## %table
<a name="notebooks-spark-magics-graphs-table"></a>

Sie können den `%table`-Magics-Befehl verwenden, um Dataframe-Daten im Tabellenformat anzuzeigen.

Im folgenden Beispiel wird ein Datenrahmen mit zwei Spalten und drei Datenzeilen erstellt und die Daten anschließend im Tabellenformat angezeigt.

![\[Mit dem Magics-Befehl %table.\]](http://docs.aws.amazon.com/de_de/athena/latest/ug/images/notebooks-spark-magics-graphs-1.png)


## %matplot
<a name="notebooks-spark-magics-graphs-matplot"></a>

[Matplotlib](https://matplotlib.org/) ist eine umfassende Bibliothek zur Erstellung statischer, animierter und interaktiver Visualisierungen in Python. Sie können den `%matplot`-Magics-Befehl verwenden, um ein Diagramm zu erstellen, nachdem Sie die Matplotlib-Bibliothek in eine Notebook-Zelle importiert haben.

Das folgende Beispiel importiert die Matplotlib-Bibliothek, erstellt einen Satz von X- und Y-Koordinaten und verwendet dann den Befehl use `%matplot` magic, um ein Diagramm der Punkte zu erstellen.

```
import matplotlib.pyplot as plt 
x=[3,4,5,6,7,8,9,10,11,12] 
y= [9,16,25,36,49,64,81,100,121,144] 
plt.plot(x,y) 
%matplot plt
```

![\[Den Befehl %matplot-Magics-Befehl verwenden.\]](http://docs.aws.amazon.com/de_de/athena/latest/ug/images/notebooks-spark-magics-graphs-2.png)


### Die Bibliotheken matplotlib und seaborn zusammen verwenden
<a name="notebooks-spark-magics-graphs-using-the-matplotlib-and-seaborn-libraries-together"></a>

[Seaborn](https://seaborn.pydata.org/tutorial/introduction) ist eine Bibliothek zur Erstellung statistischer Grafiken in Python. Es baut auf Matplotlib auf und ist eng in die Datenstrukturen von [Pandas](https://pandas.pydata.org/) (Python-Datenanalyse) integriert. Sie können auch den `%matplot`-Magics-Befehl verwenden, um Seaborn-Daten zu rendern.

Das folgende Beispiel verwendet sowohl die Bibliotheken matplotlib als auch seaborn, um ein einfaches Balkendiagramm zu erstellen.

```
import matplotlib.pyplot as plt 
import seaborn as sns 

x = ['A', 'B', 'C'] 
y = [1, 5, 3] 

sns.barplot(x, y) 
%matplot plt
```

![\[Verwendung von %matplot zum Rendern von Seaborn-Daten.\]](http://docs.aws.amazon.com/de_de/athena/latest/ug/images/notebooks-spark-magics-graphs-3.png)


## %plotly
<a name="notebooks-spark-magics-graphs-plotly"></a>

[Plotly](https://plotly.com/python/) ist eine Open-Source-Grafikbibliothek für Python, mit der Sie interaktive Grafiken erstellen können. Sie können auch den `%ploty`-Magics-Befehl verwenden, um Plotly-Daten zu rendern.

Im folgenden Beispiel werden die Bibliotheken [StringIO](https://docs.python.org/3.13/library/io.html#io.StringIO), Plotly und Pandas für Aktienkursdaten verwendet, um ein Diagramm der Aktienaktivitäten im Februar und März 2015 zu erstellen.

```
from io import StringIO 
csvString = """ 
Date,AAPL.Open,AAPL.High,AAPL.Low,AAPL.Close,AAPL.Volume,AAPL.Adjusted,dn,mavg,up,direction 
2015-02-17,127.489998,128.880005,126.919998,127.830002,63152400,122.905254,106.7410523,117.9276669,129.1142814,Increasing 
2015-02-18,127.629997,128.779999,127.449997,128.720001,44891700,123.760965,107.842423,118.9403335,130.0382439,Increasing 
2015-02-19,128.479996,129.029999,128.330002,128.449997,37362400,123.501363,108.8942449,119.8891668,130.8840887,Decreasing 
2015-02-20,128.619995,129.5,128.050003,129.5,48948400,124.510914,109.7854494,120.7635001,131.7415509,Increasing 
2015-02-23,130.020004,133,129.660004,133,70974100,127.876074,110.3725162,121.7201668,133.0678174,Increasing 
2015-02-24,132.940002,133.600006,131.169998,132.169998,69228100,127.078049,111.0948689,122.6648335,134.2347981,Decreasing 
2015-02-25,131.559998,131.600006,128.149994,128.789993,74711700,123.828261,113.2119183,123.6296667,134.0474151,Decreasing 
2015-02-26,128.789993,130.869995,126.610001,130.419998,91287500,125.395469,114.1652991,124.2823333,134.3993674,Increasing 
2015-02-27,130,130.570007,128.240005,128.460007,62014800,123.510987,114.9668484,124.8426669,134.7184854,Decreasing 
2015-03-02,129.25,130.279999,128.300003,129.089996,48096700,124.116706,115.8770904,125.4036668,134.9302432,Decreasing 
2015-03-03,128.960007,129.520004,128.089996,129.360001,37816300,124.376308,116.9535132,125.9551669,134.9568205,Increasing 
2015-03-04,129.100006,129.559998,128.320007,128.539993,31666300,123.587892,118.0874253,126.4730002,134.8585751,Decreasing 
2015-03-05,128.580002,128.75,125.760002,126.410004,56517100,121.539962,119.1048311,126.848667,134.5925029,Decreasing 
2015-03-06,128.399994,129.369995,126.260002,126.599998,72842100,121.722637,120.190797,127.2288335,134.26687,Decreasing 
2015-03-09,127.959999,129.570007,125.059998,127.139999,88528500,122.241834,121.6289771,127.631167,133.6333568,Decreasing 
2015-03-10,126.410004,127.220001,123.800003,124.510002,68856600,119.71316,123.1164763,127.9235004,132.7305246,Decreasing 
""" 
csvStringIO = StringIO(csvString) 
 
from io import StringIO 
import plotly.graph_objects as go 
import pandas as pd 
from datetime import datetime 
df = pd.read_csv(csvStringIO) 
fig = go.Figure(data=[go.Candlestick(x=df['Date'], 
open=df['AAPL.Open'], 
high=df['AAPL.High'], 
low=df['AAPL.Low'], 
close=df['AAPL.Close'])]) 
%plotly fig
```

![\[Den %ploty-Magics-Befehl verwenden.\]](http://docs.aws.amazon.com/de_de/athena/latest/ug/images/notebooks-spark-magics-graphs-4.png)
