Analytics Engine 프로비저닝
에 적용됩니다: 스파크 엔진
watsonx.data 에서 외부 Spark 엔진을 등록하는 옵션은 이번 릴리스에서 더 이상 사용되지 않으며 버전 2.3 에서 제거됩니다. watsonx.data 에는 이미 Gluten 가속 Spark 엔진과 기본 watsonx.data Spark 엔진을 포함하여 프로비저닝하고 직접 사용할 수 있는 기본 제공 Spark 엔진이 포함되어 있습니다.
watsonx.data의 경우, IBM Analytics Engine Spark를 사용하여 다음 유스 케이스를 달성하는 것이 좋습니다.
- watsonx.data 테이블에 대량의 데이터를 수집합니다. 또한 수집 전에 데이터를 정리하고 변환할 수 있습니다.
- 테이블의 watsonx.data 성능을 향상시키기 위한 테이블 유지보수 조작
- 쿼리로 표시하기 어려운 복합 분석 워크로드입니다.
IBM Analytics Engine 인스턴스를 작성할 수 있습니다.
IBM Cloud® us-south (댈러스) 또는 eu-de (프랑크푸르트) 지역에 대한 액세스 권한이 있어야 합니다. Analytics Engine 인스턴스를 프로비저닝하기 위한 지역을 추가할 때 데이터 대기 시간 문제를 방지하기 위해 watsonx.data 를 프로비저닝한 지역에 더 가까운 지역을 선택하십시오.
IBM Cloud® 콘솔에서 서비스 인스턴스 만들기
IBM Cloud® 콘솔을 사용하여 인스턴스를 만들 수 있습니다.
IBM Analytics Engine 인스턴스를 작성하려면 다음을 수행하십시오.
-
IBM Cloud® 콘솔에 로그인하십시오.
-
서비스를 클릭하고 애널리틱스 카테고리를 선택합니다.
-
Analytics Engine 을 검색한 다음 타일을 클릭하여 서비스 인스턴스 생성 페이지를 엽니다.
-
서비스 인스턴스를 배치하기 위해 watsonx.data 를 프로비저닝한 지역에 더 가까운 위치를 선택하십시오. 현재 us-south 및 eu-de 만 지원되는 지역입니다.
-
플랜을 선택하십시오. 현재 Apache Spark의 Standard 서버리스는 유일하게 지원되는 서버리스 플랜입니다.
-
선택한 이름을 입력하고 리소스 그룹을 선택하고 태그를 지정하여 인스턴스를 구성하십시오.
-
사용 가능한 최신 런타임 버전(예: 3.4 )을 선택합니다. 지원되는 다른 Spark 버전은 지원되는 Spark 버전을 참조하세요.
-
인스턴스 관련 데이터를 저장하기 위해 Analytics Engine 인스턴스 홈 으로 사용할 계정에서 IBM Cloud Object Storage 인스턴스를 선택하십시오.
-
백그라운드에서 서비스 인스턴스를 프로비저닝하려면 작성을 클릭하십시오.
새로 만든 서비스는 IBM Cloud® 리소스 목록의 서비스 아래에 나열됩니다.
IBM Cloud® 명령행 인터페이스를 사용하여 서비스 인스턴스 작성
IBM Cloud® 명령줄 인터페이스를 사용하여 서비스 인스턴스를 만들려면 다음과 같이 하세요:
-
IBM Cloud® CLI를 다운로드하고 구성하십시오. IBM Cloud® CLI 시작하기의 지시사항을 따르십시오.
-
사용자 지역에 대한 API 엔드포인트를 설정하고 로그인하십시오.
ibmcloud api https://DOMAIN_NAME ibmcloud login매개변수 값:
- DOMAIN_NAME: 사용자 지역의 API 엔드포인트입니다. 예를 들어 cloud.ibm.com
-
계정에 대한 리소스 그룹 목록을 가져와 반환된 리소스 그룹 중 하나를 IBM Analytics Engine 서버리스 인스턴스를 만들 대상 리소스 그룹으로 선택합니다:
ibmcloud resource groups ibmcloud target -g <RESOURCE_GROUP_NAME>매개변수 값:
- RESOURCE_GROUP_NAME: 효율적인 구성을 위해 watsonx.data 를 프로비저닝하는 동안 지정한 것과 동일한 이름을 제공하십시오.
-
서비스 인스턴스를 작성하십시오.
ibmcloud resource service-instance-create <SERVICE_INSTANCE_NAME> ibmanalyticsengine <PLAN_NAME> <REGION> -p @<PATH_to JSON file with cluster parameters>매개변수 값:
- SERVICE_INSTANCE_NAME: 인스턴스의 이름을 지정하십시오.
- PLAN_NAME: 플랜 이름을 plan_name8afde05e-5fd8-4359-a597-946d8432dd45 로 지정하십시오.
- REGION: 인스턴스를 프로비저닝하려는 지역을 지정하십시오.
현재 표준-서버리스-스파크가 유일하게 지원되는 서버리스 요금제이며, 미국-남미와 유럽은 지원되는 유일한 지역입니다. watsonx.data를 프로비저닝한 지역에 더 가까운 항목을 선택하십시오.
- PATH_to JSON 파일: 프로비저닝 매개변수를 포함하는 JSON 파일에 대한 경로를 포함합니다.
예를 들어 댈러스 지역의 경우
ibmcloud resource service-instance-create MyServiceInstance ibmanalyticsengine standard-serverless-spark us-south -p @provision.json선택한 이름을 서비스 인스턴스에 제공할 수 있습니다. 현재 표준-서버리스-스파크가 유일하게 지원되는 서버리스 요금제이며, 미국-남미와 유럽은 지원되는 유일한 지역입니다.
provision.json파일에는 만들려는 인스턴스에 대한 프로비저닝 매개변수가 포함되어 있습니다.페이로드 JSON 파일에서 IBM Cloud® Object Storage 인스턴스에 대한 엔드포인트는 직접 엔드포인트여야 합니다. 다이렉트 엔드포인트는 공용 엔드포인트보다 더 나은 성능을 제공하며 발신 또는 수신 대역폭에 대한 요금이 발생하지 않습니다.
다음은 샘플 provision.json 파일입니다.
{ "default_runtime": { "spark_version": "3.4" }, "instance_home": { "region": "us-south", "endpoint": "https://s3.direct.us-south.cloud-object-storage.appdomain.cloud", "hmac_access_key": "<your-hmac-access-key", "hmac_secret_key": "<your-hmac-secret-key" }, "default_config": { "key1": "value1", "key2": "value2" } }인스턴스 작성 명령에 대한 IBM Cloud® 응답:
Creating service instance MyServiceInstance in resource group Default of account <your account name> as <your user name>... OK Service instance MyServiceInstance was created. Name: MyServiceInstance ID: crn:v1:staging:public:ibmanalyticsengine:us-south:a/d628eae2cc7e4373bb0c9d2229f2ece5:1e32e***-afd9-483a-b1**-724ba5cf4***:: GUID: 1e32e***-afd9-483a-b1**-724ba5cf4*** Location: us-south State: provisioning Type: service_instance Sub Type: Service Endpoints: public Allow Cleanup: false Locked: false Created at: 2021-11-29T07:20:40Z Updated at: 2021-11-29T07:20:42Z Last Operation: Status create in progress Message Started create instance operation인스턴스 생성 명령에 대한 샘플 응답은 다음과 같습니다:
Creating service instance MyServiceInstance in resource group Default of account <your account name> as <your user name>... OK Service instance MyServiceInstance was created. Name: MyServiceInstance ID: crn:v1:staging:public:ibmanalyticsengine:us-south:a/d628eae2cc7e4373bb0c9d2229f2ece5:1e32e***-afd9-483a-b1**-724ba5cf4***:: GUID: 1e32e***-afd9-483a-b1**-724ba5cf4*** Location: us-south State: provisioning Type: service_instance Sub Type: Service Endpoints: public Allow Cleanup: false Locked: false Created at: 2021-11-29T07:20:40Z Updated at: 2021-11-29T07:20:42Z Last Operation: Status create in progress Message Started create instance operation출력에서 인스턴스 ID를 기록하십시오. 인스턴스 관리 또는 Spark 애플리케이션 관리 API를 호출할 때 인스턴스 ID가 필요합니다. Spark 애플리케이션 REST API를 참조하십시오.
리소스 컨트롤러 REST API를 사용하여 서비스 인스턴스 만들기
IBM Analytics Engine 서버리스 인스턴스는 IBM Cloud® 리소스 그룹에 있어야 합니다. 리소스 컨트롤러 REST API를 통해 IBM Analytics Engine 서버리스 인스턴스를 만들기 위한 첫 단계로, 리소스 그룹 ID와 서버리스 플랜 ID가 준비되어 있어야 합니다.
리소스 컨트롤러 REST API를 사용하여 서비스 인스턴스를 만들려면 다음과 같이 하세요:
-
IBM Cloud® CLI에 로그인하고 다음 명령을 실행하여 리소스 그룹 ID를 가져옵니다:
ibmcloud resource groups샘플 결과:
Retrieving all resource groups under account <Account details..> OK Name ID Default Group State Default XXXXX true ACTIVE -
Apache Spark의 Standard 서버리스 플랜에 다음 리소스 플랜 ID를 사용하십시오.
8afde05e-5fd8-4359-a597-946d8432dd45 -
IAM 토큰을 가져오십시오. 지시사항은 단계를 참조하십시오.
-
리소스 컨트롤러 REST API를 사용하여 인스턴스를 생성합니다:
curl -X POST https://resource-controller.cloud.ibm.com/v2/resource_instances/ --header "Authorization: Bearer $token" -H 'Content-Type: application/json' -d @provision.jsonprovision.json 파일에는 만들려는 인스턴스에 대한 프로비저닝 매개변수가 포함되어 있습니다. 페이로드의 프로비저닝 매개변수에 관한 설명은 서버리스 인스턴스의 아키텍처 및 개념을 참조하십시오.
다음은
provision.json파일의 샘플입니다.{ "name": "your-service-instance-name", "resource_plan_id": "8afde05e-5fd8-4359-a597-946d8432dd45", "resource_group": "resource-group-id", "target": "us-south", "parameters": { "default_runtime": { "spark_version": "3.4" }, "instance_home": { "region": "us-south", "endpoint": "s3.direct.us-south.cloud-object-storage.appdomain.cloud", "hmac_access_key": "your-access-key", "hmac_secret_key": "your-secret-key" } } }
인스턴스를 작성하기 위한 리소스 제어기 REST API에 관한 자세한 정보는 새 리소스 인스턴스 작성(프로비저닝)을 참조하십시오.
인스턴스 준비 추적
새로 생성된 서버리스 인스턴스에서 애플리케이션을 실행하려면 인스턴스가 활성 상태여야 합니다.
인스턴스 준비를 추적하려면 다음을 수행하십시오.
- 다음 명령을 입력하십시오.
샘플 응답:curl -X GET https://api.us-south.ae.cloud.ibm.com/v3/analytics_engines/{instance_id} -H "Authorization: Bearer $token"{ "id": "dc0e****-eab2-4t9e-9441-56620949****", "state": "created", "state_change_time": "2021-04-21T04:24:01Z", "default_runtime": { "spark_version": "3.4", "instance_home": { "provider": "ibm-cos", "type": "objectstore", "region": "us-south", "endpoint": "https://s3.direct.us-south.cloud-object-storage.appdomain.cloud", "bucket": "ae-bucket-do-not-delete-dc0e****-eab2-4t**-9441-566209499546", "hmac_access_key": "eH****g=", "hmac_secret_key": "4d********76" }, "default_config": { "spark.driver.memory": "4g", "spark.driver.cores": 1 } } } - 상태 속성의 값을 확인합니다. 인스턴스에서 애플리케이션 실행을 시작하려면 인스턴스가 활성화되어 있어야 합니다.
자세한 정보
서버리스 인스턴스를 프로비저닝할 때 권장되는 우수 사례를 따르십시오.