Migrando do projeto-lib para R para o ibm-watson-studio-lib
A biblioteca ibm-watson-studio-lib é a sucessora do project-lib library. Embora você ainda possa continuar a usar a API project-lib em seus notebooks, ela foi descontinuada e você deve pensar em migrar os notebooks existentes para usar a biblioteca ibm-watson-studio-lib .
A biblioteca project-lib foi removida do novo tempo de execução 25.1. Em tempos de execução mais antigos, o site project-lib permanece disponível.
Vantagens de usar ibm-watson-studio-lib incluem:
- A API de navegação de ativos fornece acesso de leitura a todos os tipos de ativos, não apenas aqueles explicitamente suportados pela biblioteca.
ibm-watson-studio-libusa uma convenção de nomenclatura API constistente que estrutura as funções disponíveis de acordo com sua área de aplicação.
As seções a seguir descrevem as alterações que você precisa fazer nos notebooks R existentes para começar a usar a ibm-watson-studio-lib biblioteca.
Configurar a biblioteca
Você precisa fazer as seguintes mudanças em notebooks existentes para começar a usar ibm-watson-studio-lib:
Em código usando project-lib mudança:
library(projectLib)
project <- projectLib::Project$new("<ProjectId>", "ProjectToken")
Para o seguinte usando ibm-watson-studio-lib:
library(ibmWatsonStudioLib)
wslib <- access_project_or_space(list("token" = "ProjectToken"))
Configurar a biblioteca em ambientes Spark
Você precisa fazer as seguintes mudanças em notebooks existentes para começar a usar ibm-watson-studio-libem ambientes Spark.
Em código usando project-lib mudança:
library(projectLib)
project <- projectLib::Project$new(sc, "<ProjectId>", "ProjectToken")
Para o seguinte usando ibm-watson-studio-lib:
library(ibmWatsonStudioLib)
wslib <- access_project_or_space(list("token" = "ProjectToken"))
wslib$spark$provide_spark_context(sc)
Uso da biblioteca
As seções a seguir descrevem as alterações de código que você precisa fazer em seus notebooks ao migrar funções em project-lib para as funções correspondentes em ibm-watson-studio-lib.
- Obter informações do projeto
- Buscar dados
- Salvar dados
- Obter informações de conexão
- Obter informações de dados conectadas
- Ativo de acesso por ID em vez de nome
- Buscar ativos por tipo de ativo
- Suporte ao Spark
- Armazenamento de projeto de acesso diretamente
Obter informações do projeto
Para buscar informações relacionadas ao projeto programaticamente, é necessário alterar as seguintes funções:
Listar conexões de dados
Em código usando project-lib mudança:
project$get_connections()
Para o seguinte usando ibm-watson-studio-lib:
assets <- wslib$list_connections()
wslib$show(assets)
Alternativamente, com ibm-watson-studio-lib, é possível listar ativos de dados conectados:
assets <- wslib$list_connected_data()
wslib$show(assets)
Listar arquivos de dados
Esta função retorna a lista dos arquivos de dados em seu projeto.
Em código usando project-lib mudança usando:
project$get_files()
Para o seguinte usando ibm-watson-studio-lib:
assets <- wslib$list_stored_data()
wslib$show(assets)
Obter nome ou descrição
Em ibm-watson-studio-lib, é possível recuperar quaisquer metadados sobre o projeto, como por exemplo o nome de um projeto ou sua descrição, via o entrypoint wslib.here.
Em código usando project-lib mudança:
name <- project$get_name()
desc <- project$get_description()
Para o seguinte usando ibm-watson-studio-lib:
name <- wslib$here$get_name()
desc <- wslib$here$get_description()
Obter Metadados
Não há substituição para get_matadata em project-lib:
project$get_metadata()
A função wslib$here em ibm-watson-studio-lib expõe partes dessas informações. As seguintes funções estão disponíveis em wslib$here:
wslib$here$get_name(): Retorna o nome do projetowslib$here$get_description(): Retorna a descrição do proejtowslib$here$get_ID(): Retorna o ID do projetowslib$here$get_storage(): Retorna os metadados de armazenamento
Obter metadados de armazenamento
Em código usando project-lib mudança:
project$get_storage_metadata()
Para o seguinte usando ibm-watson-studio-lib:
wslib$here$get_storage()
Buscar dados
Para acessar dados em um arquivo, é necessário alterar as funções a seguir.
Em código usando project-lib mudança:
buffer <- project$get_file("MyAssetName.csv")
# or, without direct storage access:
buffer <- project$get_file("MyAssetName.csv", directStorage=FALSE)
# or:
buffer <- project$get_file("MyAssetName.csv", directOsRetrieval=FALSE)
Para o seguinte usando ibm-watson-studio-lib:
buffer <- wslib$load_data("MyAssetName.csv")
Adicionalmente, ibm-watson-studio-lib oferece uma função para baixar um ativo de dados e armazená-lo no sistema de arquivos local:
info <- wslib$download_file("MyAssetName.csv", "MyLocalFile.csv")
Salvar dados
Para salvar dados em um arquivo, é necessário alterar as funções a seguir.
Em código usando project-lib alteração (e para todas as variações de directStorage=FALSE e setProjectAsset=TRUE):
project$save_data("NewAssetName.csv", data)
project$save_data("MyAssetName.csv", data, overwrite=TRUE)
Para o seguinte usando ibm-watson-studio-lib:
asset <- wslib$save_data("NewAssetName.csv", data)
wslib$show(asset)
asset <- wslib$save_data("MyAssetName.csv", data, overwrite=TRUE)
wslib$show(asset)
Além disso, o ibm-watson-studio-lib oferece uma função para carregar um arquivo local no armazenamento do espaço de trabalho e criar um ativo de dados:
asset <- wslib$upload_file("MyLocalFile.csv", "MyAssetName.csv")
wslib$show(asset)
Obter informações de conexão
Para retornar os metadados associados a uma conexão, é necessário alterar as funções a seguir.
Em código usando project-lib mudança:
connprops <- project$get_connection(name="MyConnection")
Para o seguinte usando ibm-watson-studio-lib:
connprops <- wslib$get_connection("MyConnection")
Obter informações de dados conectadas
Para retornar os metadados associados a um ativo de dados conectado, é necessário alterar as funções a seguir.
Em código usando project-lib mudança:
dataprops <- project$get_connected_data(name="MyConnectedData")
Para o seguinte usando ibm-watson-studio-lib:
dataprops <- wslib$get_connected_data("MyConnectedData")
Ativo de acesso por ID em vez de nome
Você pode retornar os metadados de uma conexão ou ativo de dados conectado acessando o ativo por ID em vez de pelo nome.
Em project-lib mudança:
connprops <- project$get_connection(id="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
# or:
connprops <- project$get_connection("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
# or:
datapros <- project$get_connected_data(id="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
# or:
datapros <- project$get_connected_data("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
Para o seguinte usando ibm-watson-studio-lib:
connprops <- wslib$by_id$get_connection("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
dataprops <- wslib$by_id$get_connected_data("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
Em project-lib, não é possível acessar arquivos (ativos de dados armazenados) por ID. Você só pode fazer isso pelo nome. A biblioteca ibm-watson-studio-lib suporta acessar arquivos por ID. Veja Usando ibm-watson-studio-lib.
Buscar ativos por tipo de ativo
Ao recuperar a lista de todos os ativos do projeto, você pode passar o parâmetro opcional assetType para a função get_assets que permite filtrar ativos por tipo. Os valores aceitos para este parâmetro em project-lib são data_asset, connection e asset.
Em código usando project-lib mudança:
project$get_assets()
# Or, for a supported asset type:
project$get_assets("<asset_type>")
# Or:
project$get_assets(assetType="<asset_type>")
Para o seguinte usando ibm-watson-studio-lib:
assets <- wslib$assets$list_assets("asset")
wslib$show(assets)
# Or, for a specific asset type:
assets <- wslib$assets$list_assets("<asset_type>")
# Example, list all notebooks:
notebook_assets <- wslib$assets$list_assets("notebook")
wslib$show(notebook_assets)
Para listar os tipos de ativos disponíveis, utilize:
assettypes <- wslib$assets$list_asset_types()
wslib$show(assettypes)
Apoio de Spark
Para trabalhar com o Spark, você precisa alterar as funções que permitem o suporte ao Spark e a recuperação do site URL em um arquivo.
Configurar o suporte Spark
Para configurar o suporte a Spark:
Em código usando project-lib mudança:
# Provide SparkContext during setup
library(projectLib)
project <- projectLib::Project$new(sc, "<ProjectId>", "ProjectToken")
Para o seguinte usando ibm-watson-studio-lib:
library(ibmWatsonStudioLib) wslib <- access_project_or_space(list("token" = "ProjectToken"))
# provide SparkContext after initialization
wslib$spark$provide_spark_context(sc)
Recupere URL para acessar um arquivo do Spark
Para recuperar um URL para acessar um arquivo referenciado por um ativo do Spark via Hadoop :
Em código usando project-lib mudança:
url = project$get_file_url("MyAssetName.csv")
# or
url = project$get_file_url("MyAssetName.csv", directStorage=FALSE)
# or
url = project$get_file_url("MyAssetName.csv", directOsRetrieval=FALSE)
Para o seguinte usando ibm-watson-studio-lib:
url = wslib$spark$get_data_url("MyAssetName.csv")
Obtenha o arquivo URL para uso com o Spark
Recupere um URL para acessar um arquivo referenciado por um ativo do Spark via Hadoop.
Em código usando project-lib mudança:
url = project$get_file_url("MyFileName.csv, directStorage=TRUE)
# or
url = project$get_file_url("MyFileName.csv", directOsRetrieval=TRUE)
Para o seguinte usando ibm-watson-studio-lib:
wslib$spark$storage$get_data_url("MyFileName.csv")
Armazenamento do projeto de acesso diretamente
É possível buscar dados do armazenamento do projeto ou salvar dados para o armazenamento do projeto sem sincronizar os ativos do projeto.
Buscar dados
Para buscar dados do armazenamento do projeto:
Em código usando project-lib mudança:
project$get_file("MyFileName.csv", directStorage=TRUE)
# Or:
project$get_file("MyFileName.csv", directOsRetrieval=TRUE)
Para o seguinte usando ibm-watson-studio-lib:
wslib$storage$fetch_data("MyFileName.csv")
Salvar dados
Para salvar dados em um arquivo no armazenamento do projeto:
Em código usando project-lib mudança:
project$save_data("NewFileName.csv", data, directStorage=TRUE)
# Or:
project$save_data("NewFileName.csv", data, setProjectAsset=FALSE)
Para o seguinte usando ibm-watson-studio-lib:
wslib$storage$store_data("NewFileName.csv", data)
Em código usando project-lib mudança:
# Save (and overwrite if file exists) and do not create an asset in the project
project$save_data("MyFileName.csv", data, directStorage=TRUE, overwrite=TRUE)
# Or:
project$save_data("MyFileName.csv", data, setProjectAsset=FALSE, overwrite=TRUE)
Para o seguinte usando ibm-watson-studio-lib:
wslib$storage$store_data("MyFileName.csv", data, overwrite=TRUE)
Além disso, o site ibm-watson-studio-lib oferece uma função para fazer download de um arquivo do armazenamento do espaço de trabalho para o sistema de arquivos local:
wslib$storage$download_file("MyStorageFile.csv", "MyLocalFile.csv")
Você também pode registrar um arquivo no armazenamento do espaço de trabalho como um ativo de dados usando:
wslib$storage$register_asset("MyStorageFile.csv", "MyAssetName.csv")
Saiba Mais
Para usar a biblioteca ibm-watson-studio-lib para R em notebooks, consulte ibm-watson-studio-lib for R.