Creazione di una serie di librerie per l'installazione del pacchetto Python
Una serie di librerie è una raccolta di librerie che è possibile creare e utilizzare come riferimento nelle applicazioni Spark che utilizzano le librerie. La serie di librerie viene memorizzata nella memoria principale dell'istanza associata all'istanza al momento della creazione dell'istanza.
Attualmente, puoi solo installare i package Python tramite conda o pip install.
Analytics Engine raggruppa un'applicazione Spark denominata customize_instance_app.py che esegui per creare una serie di librerie con i tuoi package personalizzati e può essere utilizzata dalle tue applicazioni Spark.
Prerequisiti: per creare una serie di librerie, devi avere le autorizzazioni per inoltrare un'applicazione Spark. Vedere Autorizzazioni utente.
Per creare una serie di librerie:
-
Prepara un file JSON come il seguente:
{ "library_set": { "action": "add", "name": "my_library_set", "libraries": { "conda": { "python": { "packages": ["numpy"] } } } } }La descrizione degli attributi JSON è la seguente:
"library_set": l'oggetto JSON di primo livello che definisce la serie di librerie."action": specifica l'azione da intraprendere per la serie di librerie. Per creare una serie di librerie, si utilizza"add". Attualmente,"add"è l'unica opzione supportata."name": specifica il nome con cui è identificata la serie di librerie. La serie di libreria creata viene memorizzata in un file con questo nome nell'istanza IBM Cloud Object Storage che hai specificato comeinstance home. Importante: se si crea più di una serie di librerie, è necessario utilizzare nomi univoci per ciascuna serie. Altrimenti si sovrascriveranno l'un l'altro."libraries": definisce una serie di librerie. È possibile specificare una o più librerie in questa sezione. Questo elemento ha un oggetto JSON child per gestore pacchetti di libreria. Attualmente sono supportati solo i gestori pacchetti"conda"e"pip". Utilizza"pip"o"conda"per installare i package Python."conda": gestore pacchetti di librerie."python": la lingua della libreria. Attualmente, è supportato solo Python."packages": elenco di pacchetti da installare. Per installare una versione specifica di un package, inoltrare la versione utilizzando il seguente formato:package_name==version.
-
Ottieni il token IAM.
-
Passa il file JSON come
"arguments"nella seguente chiamata API REST. Assicurati di eseguire l'escape delle virgolette come richiesto, mentre passi alla chiamata API REST.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.jsonEsempio per 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\"]}}}}}"] } }Importante: è necessario eseguire l'escape di tutti i caratteri virgolette nelle stringhe passate come argomenti dell'applicazione.
Se la domanda viene accettata, si riceverà una risposta simile alla seguente:
{ "id": "87e63712-a823-4aa1-9f6e-7291d4e5a113", "state": "accepted" }Quando lo stato diventa FINITO, la creazione della serie di librerie è completa.
-
Tracciare lo stato dell'applicazione richiamando l'API REST di stato dell'applicazione. Vedi Ottieni lo stato di un'applicazione.