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 노트북에서 수행해야 하는 변경사항에 대해 설명합니다.
라이브러리 설정
Copy link to section
ibm-watson-studio-lib사용을 시작하려면 기존 노트북에서 다음과 같이 변경해야 합니다.
project-lib 를 사용하는 코드에서 다음을 변경하십시오.
from project_lib import Project
project = Project("<ProjectId>","<ProjectToken>")
Copy to clipboard클립보드에 복사됨
ibm-watson-studio-lib를 사용하여 다음을 수행하십시오.
from ibm_watson_studio_lib import access_project_or_space
wslib = access_project_or_space({"token":"<ProjectToken>"})
Copy to clipboard클립보드에 복사됨
Spark 환경에서 라이브러리 설정
Copy link to section
Spark 환경에서 ibm-watson-studio-lib 사용을 시작하려면 기존 노트북에서 다음과 같이 변경해야 합니다.
project-lib 를 사용하는 코드에서 다음을 변경하십시오.
from project_lib import Project
project = Project(sc,"<ProjectId>","<ProjectToken>")
Copy to clipboard클립보드에 복사됨
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)
Copy to clipboard클립보드에 복사됨
라이브러리 사용법
Copy link to section
다음 절에서는 project-lib 의 기능을 ibm-watson-studio-lib의 해당 기능으로 마이그레이션할 때 노트북에서 수행해야 하는 코드 변경사항에 대해 설명합니다.
project-lib에서는 ID로 파일 (저장된 데이터 자산) 에 액세스할 수 없습니다. 이름으로만 이를 수행할 수 있습니다. ibm-watson-studio-lib 라이브러리는 ID별 파일 액세스를 지원합니다. ibm-watson-studio-lib 사용을 참조하십시오.
자산 유형별로 자산 페치
Copy link to section
모든 프로젝트 자산의 목록을 검색할 때 선택적 매개변수 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>")
Copy to clipboard클립보드에 복사됨
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)
Spark에 대해 작업하려면 Spark 지원을 사용으로 설정하고 파일에 대한 URL을 검색하는 함수를 변경해야 합니다.
Spark 지원 설정
Copy link to section
Spark 지원을 설정하려면 다음을 수행하십시오.
project-lib 를 사용하는 코드에서 다음을 변경하십시오.
# Provide SparkContext during setupfrom project_lib import Project
project = Project(sc,"<ProjectId>","<ProjectToken>")
Copy to clipboard클립보드에 복사됨
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)
Copy to clipboard클립보드에 복사됨
Spark에서 파일에 액세스하기 위한 URL 검색
Copy link to section
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)
Copy to clipboard클립보드에 복사됨
ibm-watson-studio-lib를 사용하여 다음을 수행하십시오.
url = wslib.spark.get_data_url("MyAssetName.csv")
Copy to clipboard클립보드에 복사됨
Spark 사용을 위한 파일 URL 가져오기
Copy link to section
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)
# 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)
Copy to clipboard클립보드에 복사됨
ibm-watson-studio-lib를 사용하여 다음을 수행하십시오.
wslib.storage.store_data("NewFileName.csv", data)
Copy to clipboard클립보드에 복사됨
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)