0 / 0
Torna alla versione inglese della documentazione
project - lib per R
Ultimo aggiornamento: 21 nov 2024
project - lib per R

Se avete bisogno di interagire con i vostri progetti watsonx.ai Studio e con le risorse del progetto da un blocco note, potete usare la libreria 'project-lib per R. La biblioteca è come un'interfaccia programmaticale ad un progetto.

Utilizzando la libreria project-lib per R, è possibile accedere ai metadati del progetto e agli asset, inclusi i file e le connessioni. La libreria contiene anche funzioni che semplificano i file di recupero associati al progetto.

Nota:


- Le funzioni project-lib non codificano o decodificano i dati durante il salvataggio o l'acquisizione di dati da un file.
- Le funzioni project-lib non possono essere utilizzate per accedere agli asset della cartella connessi (file su un percorso in Cloud Object Storage).

Utilizza la libreria

La libreria project-lib per R è preinstallata e può essere importata direttamente in un notebook nell'editor del notebook. Per utilizzare la libreria project-lib nel notebook è necessario l'ID del progetto e il token del progetto.

Per inserire il token del progetto sul tuo notebook:

  1. Fare clic sull'icona Più sulla barra degli strumenti del notebook e quindi fare clic su Inserisci token del progetto.

    Se esiste un token del progetto, una cella viene aggiunta al tuo notebook con le seguenti informazioni:

    library(projectLib)
    project <- projectLib::Project$new(sc, "<ProjectId>", "<ProjectToken>")
    

    sc è il contesto Spark se si utilizza Spark. <ProjectId> è l'ID del tuo progetto e <ProjectToken> è il valore del token del progetto.

    Se ci si dice in un messaggio che non esiste alcun token di progetto, clicca sul link nel messaggio da reindirizzato alla pagina Controllo accessi del progetto in cui è possibile creare un token di progetto. È necessario essere idonei a creare un token di progetto. Per i dettagli, consultare Manualmente aggiungendo il token del progetto.

    Per creare un token di progetto:

    1. Dalla scheda Gestisci , selezionare la pagina Controllo accessi e fare clic su Nuovo token di accesso sotto token di accesso.
    2. Inserire un nome, selezionare Editor ruolo per il progetto e creare un token.
    3. Torna sul tuo notebook, clicca sull'icona Più sulla barra degli strumenti del notebook e clicca quindi su Inserisci token progetto.

Le funzioni project-lib

L'oggetto di progetto instanziato che viene creato dopo aver importato la libreria project-lib espone una serie di funzioni raggruppate nel seguente modo:

Informazioni sul progetto di recupero

È possibile utilizzare le seguenti funzioni per recuperare programmaticamente le informazioni relative al progetto.

  • get_name()

    Questa funzione restituisce il nome del progetto.

  • get_description()

    Questa funzione restituisce la descrizione del progetto.

  • get_metadata()

    Questa funzione restituisce i metadati del progetto.

  • get_storage_metadata()

    Questa funzione restituisce i metadati della memoria oggetto associata al progetto.

  • get_project_bucket_name()

    Questa funzione restituisce il nome del bucket del progetto nell'archivio oggetti associato. Tutti i file di progetto sono memorizzati in questo secchio.

  • get_files()

    Questa funzione restituisce un elenco dei file nel tuo progetto. Ogni elemento nella lista restituita contiene l'ID e il nome del file. L'elenco dei file restituiti non è ordinato da alcun criterio e può cambiare quando si richiama nuovamente la funzione.

  • get_assets()

    Questa funzione restituisce un elenco di tutti gli asset del progetto. È possibile passare il parametro opzionale assetType alla funzione get_assets che consente di filtrare gli asset per tipo. I valori accettati per questo parametro sono data_asset, connection e asset. Il valore asset restituisce tutti gli asset nel tuo progetto. Ad esempio, per ottenere solo gli asset dati, utilizzare la funzione get_assets("data_asset").

  • get_connections()

    Questa funzione restituisce un elenco delle connessioni che hai nel tuo progetto. Ogni elemento nella lista restituita contiene l'ID e il nome della connessione.

Recupera file

È possibile utilizzare le seguenti funzioni per recuperare i file memorizzati nella memoria oggetto associata al proprio progetto.

È possibile richiamare i file in due modi:

  • get_file_url(filename) dove filename è il nome del file che si desidera recuperare.

    Questa funzione restituisce l'URL per recuperare un file dall'archivio oggetti utilizzando Spark. L'URL viene costruito in base al tipo di archiviazione degli oggetti associata al progetto. Le configurazioni di Hadoop vengono impostate automaticamente quando si interagisce con lo storage di oggetti del progetto.

    Il seguente esempio mostra come utilizzare questa funzione per richiamare i dati dalla memoria oggetto utilizzando Spark:

    # Import the lib
    library(projectLib)
    project <- projectLib::Project$new(sc, "<ProjectId>", "<ProjectToken>")
    
    # Get the url
    url <- project$get_file_url("myFile.csv")
    
    # Fetch the CSV file from the object storage using Spark
    invisible(sparkR.session(appName = "SparkSession R"))
    
    df.data <- read.df(
        url,
        source = "org.apache.spark.sql.execution.datasources.csv.CSVFileFormat",
        header = "true")
    head(df.data)
    
  • get_file(filename) dove filename è il nome del file che si desidera recuperare.

    Questa funzione recupera un file nella memoria del kernel in esecuzione. La funzione restituisce un buffer di byte che può essere utilizzato per legare in strutture dati specifiche del kernel, ad esempio, un frame data. Questo metodo di caricamento dei file non è consigliato per file molto grandi.

    Il seguente esempio mostra come recuperare un file e leggere i dati in un frame data R:

    # Import project lib
    library(projectLib)
    project <- projectLib::Project$new(sc , "<ProjectId>", "<ProjectToken>")
    
    # Fetch data
    my.file <- project$get_file("my_file.csv")
    
    # Read the CSV data file into a data frame
    df.data <-  read.csv(text = rawToChar(my.file))
    head(df.data)
    

Salva dati

È possibile utilizzare la seguente funzione per salvare i dati sulla memoria oggetto associata al proprio progetto. I dati verranno aggiunti come file al bucket del progetto nell'associato Cloud Object Storage. Questa funzione fa più cose. In primo luogo, mette i dati nella memoria dell'oggetto e poi aggiunge questi dati come asset di dati al tuo progetto in modo da poter vedere i dati che hai salvato come file nella lista degli asset di dati nel tuo progetto.

save_data(filename, data, setProjectAsset=TRUE, overwrite=FALSE)

La funzione assume i seguenti parametri:

  • filename: il nome del file creato.
  • data: i dati da caricare. I tipi accettati per questo parametro sono gli oggetti raw o i buffer di stringa.
  • setProjectAsset[optional]: aggiunge il file al progetto come asset di dati dopo che i dati sono stati caricati correttamente sull'archivio oggetti. Ci vuole un valore booleano e il valore vero è impostato per impostazione predefinita.
  • overwrite[optional]: sovrascrive il file se il file esiste già nell'archivio oggetti o nel progetto. Per impostazione predefinita è impostato su false.

Di seguito un esempio, che mostra come è possibile salvare i dati in un file nell'archivio oggetti:

library("projectLib")
project <- access_project()

# Capture CSV data from console output
csv_lines <- capture.output(write.csv(df.data, row.names=FALSE), type="output")
csv_raw <- charToRaw(paste0(csv_lines, collapse='\n'))

project$save_data("file.csv", csv_raw)

Leggi i dati da una connessione

È possibile utilizzare la seguente funzione per ottenere i metadati (credenziali) di una determinata connessione.

get_connection: la funzione assume come input l'ID della connessione o il nome della connessione. È possibile ottenere questi valori utilizzando la funzione get_assets() che restituisce id, name e type di tutti gli asset elencati nel progetto.

La funzione get_connection restituisce le credenziali di connessione che è possibile utilizzare per richiamare i dati dalla sorgente dati di connessione.

Di seguito un esempio, che mostra come è possibile recuperare le credenziali di una connessione utilizzando la funzione get_connection :

# Import project lib
library(projectLib)
project <- projectLib::Project$new(sc , "<ProjectId>", "<ProjectToken>")

# Fetch connection
conn.cred <- project$get_connection(name="<ConnectionName>")

Se la tua connessione è una connessione a dashDB , ad esempio, puoi recuperare i tuoi dati eseguendo il seguente codice:

library(ibmdbR)

props <- paste("DASHDB;DATABASE=BLUDB;HOSTNAME=", conn.cred$host, ";PORT=50000;PROTOCOL=TCPIP;", sep="")
conn <- idaConnect(props, uid = conn.cred$username, pwd = conn.cred$password, conType = "odbc")
idaInit(conn)

idf.1 <- ida.data.frame('<TableName>')
head(idf.1)

Recupero dati connessi

È possibile utilizzare la seguente funzione per richiamare le credenziali dei dati connessi. La funzione restituisce un dizionario che contiene le credenziali di connessione oltre a un attributo datapath che fa riferimento a dati specifici in tale connessione, ad esempio, una tabella in un'istanza dashDB o un database in un'istanza Cloudant .

get_connected_data: questa funzione assume come input l'ID dei dati connessi o il nome dei dati connessi. È possibile ottenere questi valori utilizzando la funzione get_assets() che restituisce id, name e type di tutti gli asset elencati nel progetto.

Di seguito viene riportato un esempio, che mostra come recuperare le credenziali dei dati connessi in una istanza di dashDB utilizzando la funzione get_connected_data :

# Import project lib
library(projectLib)
project <- projectLib::Project$new(sc , "<ProjectId>", "<ProjectToken>")

# Fetch credentials of the connected data
conn.data <- project$get_connected_data(id="<ConnectedDataId>")

Argomento principale: Lettura e accesso ai dati in un notebook

Ricerca e risposta AI generativa
Queste risposte sono generate da un modello di lingua di grandi dimensioni in watsonx.ai basato sul contenuto della documentazione del prodotto. Ulteriori informazioni