Bibliotheksgruppe für Python-Paketinstallation erstellen
Eine Bibliotheksgruppe ist eine Sammlung von Bibliotheken, die in Spark-Anwendungen erstellt und referenziert werden können, die die Bibliotheken verarbeiten. Die Bibliotheksgruppe wird im Instanzausgangsspeicher gespeichert, der der Instanz zum Zeitpunkt der Instanzerstellung zugeordnet ist.
Derzeit können Sie Python-Pakete nur über condaoder pip installinstallieren.
Analytics Engine bündelt eine Spark-Anwendung namens customize_instance_app.py, die Sie ausführen, um eine Bibliotheksgruppe mit Ihren angepassten Paketen zu erstellen, und kann von Ihren Spark-Anwendungen genutzt werden.
Voraussetzungen: Zum Erstellen einer Bibliotheksgruppe müssen Sie über die Berechtigungen zum Übergeben einer Spark-Anwendung verfügen. Siehe Benutzerberechtigungen.
So erstellen Sie eine Bibliotheksgruppe:
-
Bereiten Sie eine JSON-Datei wie die folgende vor:
{ "library_set": { "action": "add", "name": "my_library_set", "libraries": { "conda": { "python": { "packages": ["numpy"] } } } } }Die Beschreibung der JSON-Attribute lautet wie folgt:
"library_set": Das JSON-Objekt der höchsten Ebene, das die Bibliotheksgruppe definiert"action": Gibt die Aktion an, die für die Bibliotheksgruppe ausgeführt werden soll Zum Erstellen einer Bibliotheksgruppe wird"add"verwendet. Derzeit wird nur die Option"add"unterstützt."name": Gibt den Namen an, mit dem die Bibliotheksgruppe identifiziert wird. Die erstellte Bibliotheksgruppe wird in einer Datei mit diesem Namen in der IBM Cloud Object Storage -Instanz gespeichert, die Sie alsinstance homeangegeben haben. Wichtig: Wenn Sie mehrere Bibliotheksgruppen erstellen, müssen Sie für jede Gruppe eindeutige Namen verwenden. Andernfalls überschreiben sie sich gegenseitig."libraries": Definiert eine Gruppe von Bibliotheken. In diesem Abschnitt können Sie eine oder mehrere Bibliotheken angeben. Dieses Element hat ein untergeordnetes JSON-Objekt pro Bibliothekspaketmanager. Derzeit werden nur die Paketmanager"conda"und"pip"unterstützt. Verwenden Sie"pip"oder"conda", um Python-Pakete zu installieren."conda": Bibilotheks-Paketmanager."python": Die Bibliothekssprache. Derzeit wird nur Python unterstützt."packages": Liste der zu installierenden Pakete. Um eine bestimmte Version eines Pakets zu installieren, übergeben Sie die Version im folgenden Format:package_name==version.
-
Rufen Sie die IAM-Token ab.
-
Übergeben Sie die JSON-Datei im folgenden REST-API-Aufruf als
"arguments". Stellen Sie sicher, dass Sie die Anführungszeichen bei der Übergabe an den REST-API-Aufruf wie erforderlich vermeiden.curl -X POST https://api.us-south.ae.cloud.ibm.com/v3/analytics_engines/<instance_id>/spark_applications --header "Authorization: Bearer <IAM token>" -H "content-type: application/json" -d @createLibraryset.jsonBeispiel für createLibraryset.json:
{ "application_details": { "application": "/opt/ibm/customization-scripts/customize_instance_app.py", "arguments": ["{\"library_set\":{\"action\":\"add\",\"name\":\"my_library_set\",\"libraries\":{\"conda\":{\"python\":{\"packages\":[\"numpy\"]}}}}}"] } }Wichtig: Sie müssen alle Anführungszeichen in den Zeichenfolgen vermeiden, die als Anwendungsargumente übergeben werden.
Wenn die Anwendung akzeptiert wird, erhalten Sie eine Antwort wie die folgende:
{ "id": "87e63712-a823-4aa1-9f6e-7291d4e5a113", "state": "accepted" }Wenn der Status in FINISHED geändert wird, ist die Erstellung der Bibliotheksgruppe abgeschlossen.
-
Verfolgen Sie den Status der Anwendung, indem Sie die REST-API für Anwendungsstatus aufrufen. Siehe Status einer Anwendung abrufen.