0 / 0
Go back to the English version of the documentation
projekt-lib dla R
Last updated: 18 sie 2023
projekt-lib dla R

Jeśli zachodzi potrzeba interakcji z projektami Watson Studio i zasobami projektowym z notatnika, można użyć biblioteki produktu project-lib dla R. Biblioteka jest jak programowy interfejs do projektu.

Korzystając z biblioteki produktu project-lib dla R, można uzyskać dostęp do metadanych projektu i zasobów aplikacyjnych, w tym do plików i połączeń. Biblioteka zawiera również funkcje, które upraszczają pobieranie plików powiązanych z projektem.

Uwaga:


-funkcje project-lib nie kodują ani nie dekodują danych podczas zapisywania danych w pliku lub pobierania danych z pliku.
-funkcje project-lib nie mogą być używane do uzyskiwania dostępu do połączonych zasobów folderu (pliki w ścieżce w Cloud Object Storage).

Użyj biblioteki

Biblioteka project-lib dla R jest wstępnie zainstalowana i może być importowana bezpośrednio w notatniku w edytorze notatnika. Aby użyć biblioteki project-lib w notatniku, potrzebny jest identyfikator projektu i znacznik projektu.

Aby wstawić znacznik projektu do notatnika:

  1. Kliknij ikonę Więcej na pasku narzędzi notatnika, a następnie kliknij opcję Wstaw znacznik projektu.

    Jeśli znacznik projektu istnieje, do notatnika zostanie dodana komórka z następującymi informacjami:

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

    sc jest kontekstem Spark, jeśli używany jest park Spark. <ProjectId> to identyfikator projektu, a <ProjectToken> to wartość znacznika projektu.

    Jeśli w komunikacie powiedziano, że nie istnieje znacznik projektu, należy kliknąć odsyłacz w komunikacie, który ma zostać przekierowany do strony Kontrola dostępu projektu, w której można utworzyć znacznik projektu. Aby utworzyć znacznik projektu, należy kwalifikować się do niego. Szczegółowe informacje na ten temat zawiera sekcja Ręczne dodawanie znacznika projektu.

    Aby utworzyć znacznik projektu:

    1. Na karcie Zarządzanie wybierz stronę Kontrola dostępu , a następnie kliknij opcję Nowy znacznik dostępu w obszarze Znaczniki dostępu.
    2. Wprowadź nazwę, wybierz rolę Edytujący dla projektu, a następnie utwórz znacznik.
    3. Wróć do notatnika, kliknij ikonę Więcej na pasku narzędzi notatnika, a następnie kliknij opcję Wstaw znacznik projektu.

Funkcje produktu project-lib

Obiekt projektu, który został utworzony po zaimportowaniu biblioteki produktu project-lib , prezentuje zestaw funkcji pogrupowanych w następujący sposób:

Pobierz informacje o projekcie

Za pomocą poniższych funkcji można programowo pobierać informacje dotyczące projektów.

  • get_name()

    Ta funkcja zwraca nazwę projektu.

  • get_description()

    Ta funkcja zwraca opis projektu.

  • get_metadata()

    Ta funkcja zwraca metadane projektu.

  • get_storage_metadata()

    Ta funkcja zwraca metadane obiektowej pamięci masowej powiązanej z projektem.

  • get_project_bucket_name()

    Ta funkcja zwraca nazwę porcji projektu w powiązanej składowaniu obiektów. Wszystkie pliki projektu są przechowywane w tym zasobniku.

  • get_files()

    Ta funkcja zwraca listę plików w projekcie. Każdy element na zwróconej liście zawiera identyfikator i nazwę pliku. Lista zwróconych plików nie jest sortowana według żadnego kryterium i może ulec zmianie po ponownym wywołaniu funkcji.

  • get_assets()

    Ta funkcja zwraca listę wszystkich zasobów aplikacyjnych projektu. Opcjonalny parametr assetType można przekazać do funkcji get_assets , która umożliwia filtrowanie zasobów według typu. Dopuszczalne wartości dla tego parametru to: data_asset, connection i asset. Wartość asset zwraca wszystkie zasoby aplikacyjne w projekcie. Na przykład, aby pobrać tylko zasoby danych, należy użyć funkcji get_assets("data_asset").

  • get_connections()

    Ta funkcja zwraca listę połączeń, które są dostępne w projekcie. Każdy element na zwróconej liście zawiera identyfikator i nazwę połączenia.

Pobierz pliki

Do pobrania plików zapisanych w pamięci masowej obiektu powiązanej z projektem można użyć następujących funkcji.

Pliki można pobierać na dwa sposoby:

  • get_file_url(filename) , gdzie filename jest nazwą pliku, który ma zostać pobrany.

    Ta funkcja zwraca adres URL w celu pobrania pliku z pamięci masowej obiektu przy użyciu Spark. Adres URL jest tworzony w oparciu o typ obiektowej pamięci masowej powiązanej z projektem. Konfiguracje Hadoop są ustawiane automatycznie podczas interakcji z obiektową pamięcią masową projektu.

    W poniższym przykładzie przedstawiono sposób użycia tej funkcji w celu pobrania danych z pamięci masowej obiektów za pomocą 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) , gdzie filename jest nazwą pliku, który ma zostać pobrany.

    Ta funkcja pobiera plik do pamięci z uruchomionym jądrem. Funkcja zwraca bufor bajtowy, który może być użyty do powiązania ze strukturami danych specyficznymi dla jądra, na przykład ramką danych R. Ta metoda pobierania plików nie jest zalecana w przypadku bardzo dużych plików.

    W poniższym przykładzie przedstawiono sposób pobrania pliku i odczytania danych w ramce danych 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)
    

Zapisz dane

Do zapisania danych w obiektowej pamięci masowej powiązanej z projektem można użyć następującej funkcji. Dane zostaną dodane jako plik do zasobnika projektu w powiązanej Cloud Object Storage. Ta funkcja wykonuje wiele czynności. Po pierwsze, umieszcza dane w obiektowej pamięci masowej, a następnie dodaje te dane jako zasób danych do projektu, dzięki czemu można zobaczyć dane zapisane jako plik na liście zasobów danych w projekcie.

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

Funkcja przyjmuje następujące parametry:

  • filename: nazwa utworzonego pliku.
  • data: dane do przesłania. Akceptowane typy dla tego parametru to surowe obiekty R lub bufory łańcuchowe.
  • setProjectAsset[optional]: dodaje plik do projektu jako zasób danych po pomyślnym przesłaniu danych do pamięci masowej obiektów. Przyjmuje ona wartość boolowką, a wartość true jest ustawiana domyślnie.
  • overwrite[optional]: nadpisuje plik, jeśli plik już istnieje w obiektowej pamięci masowej lub w projekcie. Domyślnie ustawiona jest wartość false.

Oto przykład, który pokazuje, jak można zapisywać dane do pliku w obiektowej pamięci masowej:

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)

Odczytywanie danych z połączenia

Aby pobrać metadane (informacje autoryzacyjne) danego połączenia, można użyć następującej funkcji.

get_connection: funkcja przyjmuje jako dane wejściowe identyfikator połączenia lub nazwę połączenia. Wartości te można uzyskać, korzystając z funkcji get_assets() , która zwraca id, name i type wszystkich zasobów aplikacyjnych wymienionych w projekcie.

Funkcja get_connection zwraca informacje autoryzacyjne połączenia, których można użyć do pobrania danych ze źródła danych połączenia.

Oto przykład, który pokazuje, jak można pobrać informacje autoryzacyjne połączenia za pomocą funkcji get_connection :

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

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

Jeśli połączenie jest połączeniem z bazą danych dashDB , na przykład można pobrać dane, uruchamiając następujący kod:

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)

Pobierz połączone dane

Aby pobrać informacje autoryzacyjne połączonych danych, można użyć następującej funkcji. Funkcja zwraca słownik, który zawiera referencje połączenia oprócz atrybutu datapath , który wskazuje konkretne dane w tym połączeniu, na przykład tabelę w instancji dashDB lub bazę danych w instancji Cloudant .

get_connected_data: ta funkcja przyjmuje jako dane wejściowe identyfikator połączonych danych lub nazwę połączonych danych. Wartości te można uzyskać, korzystając z funkcji get_assets() , która zwraca id, name i type wszystkich zasobów aplikacyjnych wymienionych w projekcie.

Oto przykład, który przedstawia sposób pobierania referencji połączonych danych w instancji dashDB za pomocą funkcji 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>")

Temat nadrzędny: Ładowanie i uzyskiwanie dostępu do danych w notatniku

Generative AI search and answer
These answers are generated by a large language model in watsonx.ai based on content from the product documentation. Learn more