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.
Tutorial: Einrichten von PyCharm Professional mit einem Entwicklungsendpunkt
In diesem Tutorial erfahren Sie, wie Sie den Python-IDE PyCharm Professional
Um interaktiv eine Verbindung mit einem Entwicklungsendpunkt herzustellen, muss PyCharm Professional installiert sein. Dies können Sie nicht mit der kostenlosen Version durchführen.
Anmerkung
Im Tutorial wird Amazon S3 als Datenquelle verwendet. Wenn Sie stattdessen eine JDBC-Datenquelle verwenden möchten, müssen Sie Ihren Entwicklungsendpunkt in einer Virtual Private Cloud (VPC) ausführen. Um eine Verbindung mit SSH zu einem Entwicklungsendpunkt in einer VPC herzustellen, müssen Sie einen SSH-Tunnel erstellen. Dieses Tutorial enthält keine Anweisungen zum Erstellen eines SSH-Tunnels. Informationen zur Verwendung von SSH zur Verbindung mit einem Entwicklungsendpunkt in einer VPC finden Sie unter Securely Connect to Linux Instances Running in a Private Amazon VPC
Themen
Verbinden von PyCharm Professional mit einem Entwicklungsendpunkt
-
Erstellen Sie ein neues Python-Projekt in PyCharm mit dem Namen
legislators
. -
Erstellen Sie im Projekt eine Datei mit dem Namen
get_person_schema.py
und dem folgenden Inhalt:from pyspark.context import SparkContext from awsglue.context import GlueContext def main(): # Create a Glue context glueContext = GlueContext(SparkContext.getOrCreate()) # Create a DynamicFrame using the 'persons_json' table persons_DyF = glueContext.create_dynamic_frame.from_catalog(database="legislators", table_name="persons_json") # Print out information about this data print("Count: ", persons_DyF.count()) persons_DyF.printSchema() if __name__ == "__main__": main()
-
Führen Sie eine der folgenden Aktionen aus:
-
Laden Sie für AWS Glue 0.9 die AWS Glue-Python-Bibliotheksdatei
PyGlue.zip
vonhttps://s3.amazonaws.com/aws-glue-jes-prod-us-east-1-assets/etl/python/PyGlue.zip
in einen geeigneten Speicherort auf Ihrem lokalen Computer herunter. -
Laden Sie für AWS Glue 1.0 und höhere Versionen die AWS Glue-Python-Bibliotheksdatei
PyGlue.zip
vonhttps://s3.amazonaws.com/aws-glue-jes-prod-us-east-1-assets/etl-1.0/python/PyGlue.zip
in einen geeigneten Speicherort auf Ihrem lokalen Computer herunter.
-
-
Fügen Sie
PyGlue.zip
als Inhalts-Stammverzeichnis für Ihr Projekt in PyCharm hinzu:-
Wählen Sie in PyCharm File (Datei), Settings (Einstellungen) aus, um das Dialogfeld Settings (Einstellungen) zu öffnen. (Sie können auch
Ctrl+Alt+S
betätigen.) -
Erweitern Sie das Projekt
legislators
und wählen Sie Project Structure (Projektstruktur) aus. Wählen Sie anschließend auf der rechten Seite + Add Content Root (+ Inhalts-Stammverzeichnis hinzufügen) aus. -
Navigieren Sie zum Speicherort, an dem Sie
PyGlue.zip
gespeichert haben, und wählen Sie dann Apply (Anwenden) aus.
Der Bildschirm Settings (Einstellungen) sollte etwa wie folgt aussehen:
Lassen Sie das Dialogfeld Settings (Einstellungen) geöffnet, nachdem Sie Apply (Anwenden) ausgewählt haben.
-
-
Konfigurieren Sie Bereitstellungsoptionen für das Hochladen des lokalen Skripts auf Ihren Entwicklungsendpunkt mit SFTP (diese Funktion steht nur in PyCharm Professional zur Verfügung):
-
Erweitern Sie im Dialogfeld Settings (Einstellungen) den Abschnitt Build, Execution, Deployment (Erstellung, Ausführung, Bereitstellung). Wählen Sie den Teilabschnitt Deployment (Bereitstellung) aus.
-
Wählen Sie das Symbol + oben im mittleren Bereich aus, um einen neuen Server hinzuzufügen. Setzen Sie seinen Type (Typ) auf
SFTP
, und geben Sie ihm einen Namen. -
Legen Sie den SFTP-Host auf die Public Address (Öffentliche Adresse) Ihres Entwicklungsendpunkts fest, wie auf der Detailseite aufgeführt. (Wählen Sie den Namen Ihres Entwicklungsendpunkts in der AWS Glue-Konsole, um die Detailseite anzuzeigen). Legen Sie für einen Entwicklungsendpunkt, der in einer VPC ausgeführt wird, den SFTP-Host auf die Hostadresse und den lokalen Port des SSH-Tunnels auf den Entwicklungsendpunkt fest.
-
Legen Sie den User name (Benutzername) auf
glue
fest. -
Legen Sie den Auth type (Authentifizierungstyp) auf Key pair (OpenSSH or Putty) (Schlüsselpaar (OpenSSH oder PuTTY)) fest. Legen Sie die Private key file (Datei für den privaten Schlüssel) fest, indem Sie zum Speicherort navigieren, an dem die Datei für den privaten Schlüssel Ihres Entwicklungsendpunkts gespeichert ist. Beachten Sie, dass PyCharm nur die Schlüsseltypen DSA, RSA und ECDSA OpenSSH unterstützt und keine Schlüssel im privaten Format von PuTTY akzeptiert. Sie können eine aktuelle Version von
ssh-keygen
verwenden, um einen Schlüsselpaartyp zu erzeugen, der von PyCharm akzeptiert wird. Verwenden Sie dazu eine Syntax wie folgt:ssh-keygen -t rsa -f
<key_file_name>
-C "<your_email_address>
" -
Wählen Sie Test SFTP connection (SFTP-Verbindung testen) aus, und lassen Sie das Testen der Verbindung zu. Wenn die Verbindung erfolgreich hergestellt wird, wählen Sie Apply (Anwenden) aus.
Der Bildschirm Settings (Einstellungen) sollte nun etwa wie folgt aussehen:
Lassen Sie wiederum das Dialogfeld Settings (Einstellungen) geöffnet, nachdem Sie Apply (Anwenden) ausgewählt haben.
-
-
Ordnen Sie das lokale Verzeichnis einem Remote-Verzeichnis für die Bereitstellung zu:
-
Wählen Sie rechts auf der Seite Deployment (Bereitstellung) die mittlere Registerkarte mit der Bezeichnung Mappings aus.
-
Geben Sie in der Spalte Deployment Path (Bereitstellungspfad) einen Pfad für die Bereitstellung Ihres Projekts unter
/home/glue/scripts/
ein. Beispiel:/home/glue/scripts/legislators
. -
Wählen Sie Apply (Anwenden) aus.
Der Bildschirm Settings (Einstellungen) sollte nun etwa wie folgt aussehen:
Klicken Sie auf OK, um das Dialogfeld Settings (Einstellungen) zu schließen.
-
Bereitstellen des Skripts auf Ihrem Entwicklungsendpunkt
-
Wählen Sie Tools (Extras), Deployment (Bereitstellung), und wählen Sie dann den Namen, unter dem Sie Ihren Entwicklungsendpunkt einrichten, wie im folgenden Image dargestellt:
Nachdem Ihr Skript bereitgestellt wurde, sollte der untere Bereich des Bildschirms etwa wie folgt aussehen:
-
Wählen Sie in der Menüleiste Tools (Extras), Deployment (Bereitstellung), Automatic Upload (always) (Automatischer Upload (immer)). Stellen Sie sicher, dass neben Automatic Upload (always) (Automatischer Upload (immer)) ein Häkchen angezeigt wird.
Wenn diese Option aktiviert ist, lädt PyCharm geänderte Dateien automatisch auf den Entwicklungsendpunkt hoch.
Konfigurieren eines Remote Interpreters
Konfigurieren Sie PyCharm so, dass der Python-Interpreter auf dem Entwicklungsendpunkt verwendet wird.
-
Wählen Sie im Menü File (Datei) die Option Open (Öffnen) aus.
-
Erweitern Sie die Project legislators (Projektgesetzgeber), und wählen Sie Project Interpreter.
-
Wählen Sie das Zahnradsymbol neben der Liste Project Interpreter, und wählen Sie dann Add (Hinzufügen).
-
Wählen Sie im Dialogfeld Add Python Interpreter (Python-Interpreter hinzufügen) im linken Bereich die Option SSH-Interpreter.
-
Wählen Sie Existing server configuration (Vorhandene Serverkonfiguration), und wählen Sie in der Liste Deployment configuration (Bereitstellungskonfiguration) Ihre Konfiguration aus.
Ihr Bildschirm sollte ungefähr wie das folgende Image aussehen.
-
Wählen Sie Move this server to IDE settings (Diesen Server in IDE-Einstellungen verschieben) und dann Next (Weiter).
-
Ändern Sie im Feld Interpreter den Pfad zu
/usr/bin/gluepython
, wenn Sie Python 2 verwenden, oder zu/usr/bin/gluepython3
, wenn Sie Python 3 verwenden. Klicken Sie auf Finish (Fertig stellen).
Ausführen Ihres Skripts auf dem Entwicklungsendpunkt
So führen Sie das Skript aus:
-
Klicken Sie im linken Bereich mit der rechten Maustaste auf den Dateinamen, und wählen Sie Run (Ausführen) '
<filename>
' aus.Nach einer Reihe von Nachrichten sollte die endgültige Ausgabe die Anzahl und das Schema anzeigen.
Count: 1961 root |-- family_name: string |-- name: string |-- links: array | |-- element: struct | | |-- note: string | | |-- url: string |-- gender: string |-- image: string |-- identifiers: array | |-- element: struct | | |-- scheme: string | | |-- identifier: string |-- other_names: array | |-- element: struct | | |-- lang: string | | |-- note: string | | |-- name: string |-- sort_name: string |-- images: array | |-- element: struct | | |-- url: string |-- given_name: string |-- birth_date: string |-- id: string |-- contact_details: array | |-- element: struct | | |-- type: string | | |-- value: string |-- death_date: string Process finished with exit code 0
Nun können Sie Ihr Skript remote auf Ihrem Entwicklungsendpunkt debuggen.