Verwenden von magischen Befehlen - 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.

Verwenden von magischen Befehlen

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 Magic-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 Magics zum Erstellen von Datendiagrammen.

  • Weitere Informationen zu den integrierten Magics-Befehlen finden Sie unter Integrierte Magics-Befehle in der IPython-Dokumentation.

Anmerkung

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

Zellen-Magics

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

%%sql

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

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ürztbool 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.

  • vertikalbool, optional. Wenn true, werden die Ausgabezeilen vertikal ausgedruckt (eine Zeile pro Spaltenwert).

Linien-Magics

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

%help

Zeigt Beschreibungen der verfügbaren Magic-Befehle an.

Verwenden von %help

%list_sessions

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

%session_id

Ruft die aktuelle Sitzungs-ID ab.

Verwenden von session_id

%set_log_level

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

%status

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

Magics zum Erstellen von Datendiagrammen

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

%table

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.

%matplot

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

Die Bibliotheken matplotlib und seaborn zusammen verwenden

Seaborn ist eine Bibliothek zur Erstellung statistischer Grafiken in Python. Es baut auf Matplotlib auf und ist eng in die Datenstrukturen von Pandas (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.

%plotly

Plotly 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, 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.