ibm-watson-studio-lib
라이브러리는 project-lib library
의 후속 작업입니다. 노트북에서 project-lib
API를 계속 사용할 수 있지만 ibm-watson-studio-lib
라이브러리를 사용하기 위해 기존 노트북을 마이그레이션하는 것을 고려해야 합니다.
ibm-watson-studio-lib
사용의 장점은 다음과 같습니다.
- 자산 찾아보기 API는 라이브러리에서 명시적으로 지원되는 자산뿐만 아니라 모든 유형의 자산에 대한 읽기 전용 액세스를 제공합니다.
ibm-watson-studio-lib
에서는 애플리케이션 영역에 따라 사용 가능한 기능을 구성하는 consti스텐트 API 이름 지정 규칙을 사용합니다.
다음 절에서는 ibm-watson-studio-lib
라이브러리를 사용하기 위해 기존 Python 노트북에서 수행해야 하는 변경사항에 대해 설명합니다.
라이브러리 설정
ibm-watson-studio-lib
사용을 시작하려면 기존 노트북에서 다음과 같이 변경해야 합니다.
project-lib
를 사용하는 코드에서 다음을 변경하십시오.
from project_lib import Project
project = Project("<ProjectId>","<ProjectToken>")
ibm-watson-studio-lib
를 사용하여 다음을 수행하십시오.
from ibm_watson_studio_lib import access_project_or_space
wslib = access_project_or_space({"token":"<ProjectToken>"})
Spark 환경에서 라이브러리 설정
Spark 환경에서 ibm-watson-studio-lib
사용을 시작하려면 기존 노트북에서 다음과 같이 변경해야 합니다.
project-lib
를 사용하는 코드에서 다음을 변경하십시오.
from project_lib import Project
project = Project(sc,"<ProjectId>","<ProjectToken>")
ibm-watson-studio-lib
를 사용하여 다음을 수행하십시오.
from ibm_watson_studio_lib import access_project_or_space
wslib = access_project_or_space({"token":"<ProjectToken>"})
wslib.spark.provide_spark_context(sc)
라이브러리 사용법
다음 절에서는 project-lib
의 기능을 ibm-watson-studio-lib
의 해당 기능으로 마이그레이션할 때 노트북에서 수행해야 하는 코드 변경사항에 대해 설명합니다.
프로젝트 정보 가져오기
프로젝트 관련 정보를 프로그래밍 방식으로 페치하려면 다음 함수를 변경해야 합니다.
데이터 연결 나열
project-lib
를 사용하는 코드에서 다음을 변경하십시오.
project.get_connections()
ibm-watson-studio-lib
를 사용하여 다음을 수행하십시오.
assets = wslib.list_connections()
wslib.show(assets)
또는 ibm-watson-studio-lib
를 사용하여 연결된 데이터 자산을 나열할 수 있습니다.
assets = wslib.list_connected_data()
wslib.show(assets)
데이터 파일 나열
이 함수는 프로젝트의 데이터 파일 목록을 리턴합니다.
project-lib
를 사용하는 코드에서 다음을 사용하여 변경하십시오
project.get_files()
ibm-watson-studio-lib
를 사용하여 다음을 수행하십시오.
assets = wslib.list_stored_data()
wslib.show(assets)
이름 또는 설명 가져오기
ibm-watson-studio-lib
에서 시작점 wslib.here
를 통해 프로젝트에 대한 메타데이터 (예: 프로젝트의 이름 또는 해당 설명) 를 검색할 수 있습니다.
project-lib
를 사용하는 코드에서 다음을 변경하십시오.
name = project.get_name()
desc = project.get_description()
ibm-watson-studio-lib
를 사용하여 다음을 수행하십시오.
name = wslib.here.get_name()
desc = wslib.here.get_description()
메타데이터 가져오기
project-lib
에서 get_matadata
에 대한 대체가 없습니다.
project.get_metadata()
ibm-watson-studio-lib
의 wslib.here
함수는 이 정보의 일부를 표시합니다. 사용 가능한 프로젝트 메타데이터 정보를 보려면 다음을 사용하십시오.
help(wslib.here.API)
예를 들어,
wslib.here.get_name()
: 프로젝트 이름을 리턴합니다.wslib.here.get_description()
: proejct 설명을 리턴합니다.wslib.here.get_ID()
: 프로젝트 ID를 리턴합니다.wslib.here.get_storage()
: 스토리지 메타데이터를 리턴합니다.
스토리지 메타데이터 가져오기
project-lib
를 사용하는 코드에서 다음을 변경하십시오.
project.get_storage_metadata()
ibm-watson-studio-lib
를 사용하여 다음을 수행하십시오.
wslib.here.get_storage()
데이터 페치
파일의 데이터에 액세스하려면 다음 기능을 변경해야 합니다.
project-lib
를 사용하는 코드에서 다음을 변경하십시오.
buffer = project.get_file("MyAssetName.csv")
# or, without direct storage access:
buffer = project.get_file("MyAssetName.csv", direct_storage=False)
# or:
buffer = project.get_file("MyAssetName.csv", direct_os_retrieval=False)
ibm-watson-studio-lib
를 사용하여 다음을 수행하십시오.
buffer = wslib.load_data("MyAssetName.csv")
또한 ibm-watson-studio-lib
는 데이터 자원을 다운로드하여 로컬 파일 시스템에 저장하는 기능을 제공합니다.
info = wslib.download_file("MyAssetName.csv", "MyLocalFile.csv")
데이터 저장
데이터를 파일에 저장하려면 다음 기능을 변경해야 합니다.
project-lib
를 사용하는 코드에서 direct_store=False
및 set_project_asset=True
의 모든 변형에 대해 다음을 변경하십시오.
project.save_data("NewAssetName.csv", data)
project.save_data("MyAssetName.csv", data, overwrite=True)
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)
또한 ibm-watson-studio-lib
는 프로젝트 스토리지에 로컬 파일을 업로드하고 데이터 자산을 작성하는 기능을 제공합니다.
asset = wslib.upload_file("MyLocalFile.csv", "MyAssetName.csv")
wslib.show(asset)
연결 정보 가져오기
연결과 연관된 메타데이터를 리턴하려면 다음 함수를 변경해야 합니다.
project-lib
를 사용하는 코드에서 다음을 변경하십시오.
connprops = project.get_connection(name="MyConnection")
ibm-watson-studio-lib
를 사용하여 다음을 수행하십시오.
connprops = wslib.get_connection("MyConnection")
연결된 데이터 정보 가져오기
연결된 데이터 자산과 연관된 메타데이터를 리턴하려면 다음 함수를 변경해야 합니다.
project-lib
를 사용하는 코드에서 다음을 변경하십시오.
dataprops = project.get_connected_data(name="MyConnectedData")
ibm-watson-studio-lib
를 사용하여 다음을 수행하십시오.
dataprops = wslib.get_connected_data("MyConnectedData")
이름 대신 ID로 자산 액세스
이름 대신 ID로 자산에 액세스하여 연결 또는 연결된 데이터 자산의 메타데이터를 리턴할 수 있습니다.
project-lib
에서 다음을 변경하십시오.
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")
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")
project-lib
에서는 ID로 파일 (저장된 데이터 자산) 에 액세스할 수 없습니다. 이름으로만 이를 수행할 수 있습니다. ibm-watson-studio-lib
라이브러리는 ID별 파일 액세스를 지원합니다. ibm-watson-studio-lib 사용을 참조하십시오.
자산 유형별로 자산 페치
모든 프로젝트 자산의 목록을 검색할 때 선택적 매개변수 asset_type
를 유형별로 자산을 필터링할 수 있는 get_assets
함수에 전달할 수 있습니다. project-lib
에서 이 매개변수에 허용되는 값은 data_asset
, connection
및 asset
입니다.
project-lib
를 사용하는 코드에서 다음을 변경하십시오.
project.get_assets()
# Or, for a supported asset type:
project.get_assets("<asset_type>")
# Or:
project.get_assets(asset_type="<asset_type>")
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)
사용 가능한 자산 유형을 나열하려면 다음을 사용하십시오.
assettypes = wslib.assets.list_asset_types()
wslib.show(assettypes)
Spark 지원
Spark에 대해 작업하려면 Spark 지원을 사용으로 설정하고 파일에 대한 URL을 검색하는 함수를 변경해야 합니다.
Spark 지원 설정
Spark 지원을 설정하려면 다음을 수행하십시오.
project-lib
를 사용하는 코드에서 다음을 변경하십시오.
# Provide SparkContext during setup
from project_lib import Project
project = Project(sc,"<ProjectId>","<ProjectToken>")
ibm-watson-studio-lib
를 사용하여 다음을 수행하십시오.
from ibm_watson_studio_lib import access_project_or_space
wslib = access_project_or_space({'token':'<ProjectToken>'}
# provide SparkContext in a subsequent step
wslib.spark.provide_spark_context(sc)
Spark에서 파일에 액세스하기 위한 URL 검색
Hadoop을 통해 Spark에서 자산이 참조하는 파일에 액세스하기 위한 URL을 검색하려면 다음을 수행하십시오.
project-lib
를 사용하는 코드에서 다음을 변경하십시오.
url = project.get_file_url("MyAssetName.csv")
# or
url = project.get_file_url("MyAssetName.csv", direct_storage=False)
# or
url = project.get_file_url("MyAssetName.csv", direct_os_retrieval=False)
ibm-watson-studio-lib
를 사용하여 다음을 수행하십시오.
url = wslib.spark.get_data_url("MyAssetName.csv")
Spark 사용을 위한 파일 URL 가져오기
Hadoop을 통해 Spark에서 자산이 참조하는 파일에 액세스하기 위한 URL을 검색합니다.
project-lib
를 사용하는 코드에서 다음을 변경하십시오.
project.get_file_url("MyFileName.csv", direct_storage=True)
# or
project.get_file_url("MyFileName.csv", direct_os_retrieval=True)
ibm-watson-studio-lib
를 사용하여 다음을 수행하십시오.
wslib.spark.storage.get_data_url("MyFileName.csv")
프로젝트 스토리지에 직접 액세스
프로젝트 스토리지에서 데이터를 페치하거나 프로젝트 자산을 동기화하지 않고 프로젝트 스토리지에 데이터를 저장할 수 있습니다.
데이터 페치
프로젝트 스토리지에서 데이터를 페치하려면 다음을 수행하십시오.
project-lib
를 사용하는 코드에서 다음을 변경하십시오.
project.get_file("MyFileName.csv", direct_storage=True)
# Or:
project.get_file("MyFileName.csv", direct_os_retrieval=True)
ibm-watson-studio-lib
를 사용하여 다음을 수행하십시오.
wslib.storage.fetch_data("MyFileName.csv")
데이터 저장
프로젝트 스토리지의 파일에 데이터를 저장하려면 다음을 수행하십시오.
project-lib
를 사용하는 코드에서 다음을 변경하십시오.
# Save and do not create an asset in a project
project.save_data("NewFileName.csv", data, direct_storage=True)
# Or:
project.save_data("NewFileName.csv", data, set_project_asset=False)
ibm-watson-studio-lib
를 사용하여 다음을 수행하십시오.
wslib.storage.store_data("NewFileName.csv", data)
project-lib
를 사용하는 코드에서 다음을 변경하십시오.
# Save (and overwrite if file exists) and do not create an asset in the project
project.save_data("MyFileName.csv", data, direct_storage=True, overwrite=True)
# Or:
project.save_data("MyFileName.csv", data, set_project_asset=False, overwrite=True)
ibm-watson-studio-lib
를 사용하여 다음을 수행하십시오.
wslib.storage.store_data("MyFileName.csv", data, overwrite=True)
또한 ibm-watson-studio-lib
는 프로젝트 스토리지에서 로컬 파일 시스템으로 파일을 다운로드하는 기능을 제공합니다.
wslib.storage.download_file("MyStorageFile.csv", "MyLocalFile.csv")
다음을 사용하여 프로젝트 스토리지의 파일을 데이터 자산으로 등록할 수도 있습니다.
wslib.storage.register_asset("MyStorageFile.csv", "MyAssetName.csv")
자세한 정보
노트북에서 Python 용 ibm-watson-studio-lib
라이브러리를 사용하려면 Python를 참조하십시오.
상위 주제: ibm-watson-studio-lib 사용