Analytics Engine 프로비저닝

에 적용됩니다: 스파크 엔진

watsonx.data 에서 외부 Spark 엔진을 등록하는 옵션은 이번 릴리스에서 더 이상 사용되지 않으며 버전 2.3 에서 제거됩니다. watsonx.data 에는 이미 Gluten 가속 Spark 엔진과 기본 watsonx.data Spark 엔진을 포함하여 프로비저닝하고 직접 사용할 수 있는 기본 제공 Spark 엔진이 포함되어 있습니다.

watsonx.data의 경우, IBM Analytics Engine Spark를 사용하여 다음 유스 케이스를 달성하는 것이 좋습니다.

  1. watsonx.data 테이블에 대량의 데이터를 수집합니다. 또한 수집 전에 데이터를 정리하고 변환할 수 있습니다.
  2. 테이블의 watsonx.data 성능을 향상시키기 위한 테이블 유지보수 조작
  3. 쿼리로 표시하기 어려운 복합 분석 워크로드입니다.

IBM Analytics Engine 인스턴스를 작성할 수 있습니다.

IBM Cloud® us-south (댈러스) 또는 eu-de (프랑크푸르트) 지역에 대한 액세스 권한이 있어야 합니다. Analytics Engine 인스턴스를 프로비저닝하기 위한 지역을 추가할 때 데이터 대기 시간 문제를 방지하기 위해 watsonx.data 를 프로비저닝한 지역에 더 가까운 지역을 선택하십시오.

IBM Cloud® 콘솔에서 서비스 인스턴스 만들기

IBM Cloud® 콘솔을 사용하여 인스턴스를 만들 수 있습니다.

IBM Analytics Engine 인스턴스를 작성하려면 다음을 수행하십시오.

  1. IBM Cloud® 콘솔에 로그인하십시오.

  2. 서비스를 클릭하고 애널리틱스 카테고리를 선택합니다.

  3. Analytics Engine 을 검색한 다음 타일을 클릭하여 서비스 인스턴스 생성 페이지를 엽니다.

  4. 서비스 인스턴스를 배치하기 위해 watsonx.data 를 프로비저닝한 지역에 더 가까운 위치를 선택하십시오. 현재 us-southeu-de 만 지원되는 지역입니다.

  5. 플랜을 선택하십시오. 현재 Apache Spark의 Standard 서버리스는 유일하게 지원되는 서버리스 플랜입니다.

  6. 선택한 이름을 입력하고 리소스 그룹을 선택하고 태그를 지정하여 인스턴스를 구성하십시오.

  7. 사용 가능한 최신 런타임 버전(예: 3.4 )을 선택합니다. 지원되는 다른 Spark 버전은 지원되는 Spark 버전을 참조하세요.

  8. 인스턴스 관련 데이터를 저장하기 위해 Analytics Engine 인스턴스 홈 으로 사용할 계정에서 IBM Cloud Object Storage 인스턴스를 선택하십시오.

  9. 백그라운드에서 서비스 인스턴스를 프로비저닝하려면 작성을 클릭하십시오.

    새로 만든 서비스는 IBM Cloud® 리소스 목록의 서비스 아래에 나열됩니다.

IBM Cloud® 명령행 인터페이스를 사용하여 서비스 인스턴스 작성

IBM Cloud® 명령줄 인터페이스를 사용하여 서비스 인스턴스를 만들려면 다음과 같이 하세요:

  1. IBM Cloud® CLI를 다운로드하고 구성하십시오. IBM Cloud® CLI 시작하기의 지시사항을 따르십시오.

  2. 사용자 지역에 대한 API 엔드포인트를 설정하고 로그인하십시오.

    ibmcloud api https://DOMAIN_NAME
    ibmcloud login
    

    매개변수 값:

    • DOMAIN_NAME: 사용자 지역의 API 엔드포인트입니다. 예를 들어 cloud.ibm.com
  3. 계정에 대한 리소스 그룹 목록을 가져와 반환된 리소스 그룹 중 하나를 IBM Analytics Engine 서버리스 인스턴스를 만들 대상 리소스 그룹으로 선택합니다:

    ibmcloud resource groups
    ibmcloud target -g <RESOURCE_GROUP_NAME>
    

    매개변수 값:

    • RESOURCE_GROUP_NAME: 효율적인 구성을 위해 watsonx.data 를 프로비저닝하는 동안 지정한 것과 동일한 이름을 제공하십시오.
  4. 서비스 인스턴스를 작성하십시오.

    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를 참조하십시오.

  5. 인스턴스 준비를 추적하십시오.

리소스 컨트롤러 REST API를 사용하여 서비스 인스턴스 만들기

IBM Analytics Engine 서버리스 인스턴스는 IBM Cloud® 리소스 그룹에 있어야 합니다. 리소스 컨트롤러 REST API를 통해 IBM Analytics Engine 서버리스 인스턴스를 만들기 위한 첫 단계로, 리소스 그룹 ID와 서버리스 플랜 ID가 준비되어 있어야 합니다.

리소스 컨트롤러 REST API를 사용하여 서비스 인스턴스를 만들려면 다음과 같이 하세요:

  1. 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
    
  2. Apache Spark의 Standard 서버리스 플랜에 다음 리소스 플랜 ID를 사용하십시오.

    8afde05e-5fd8-4359-a597-946d8432dd45
    
  3. IAM 토큰을 가져오십시오. 지시사항은 단계를 참조하십시오.

  4. 리소스 컨트롤러 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.json
    

    provision.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"
              }
        }
    }
    
  5. 인스턴스 준비를 추적하십시오.

인스턴스를 작성하기 위한 리소스 제어기 REST API에 관한 자세한 정보는 새 리소스 인스턴스 작성(프로비저닝)을 참조하십시오.

인스턴스 준비 추적

새로 생성된 서버리스 인스턴스에서 애플리케이션을 실행하려면 인스턴스가 활성 상태여야 합니다.

인스턴스 준비를 추적하려면 다음을 수행하십시오.

  1. 다음 명령을 입력하십시오.
    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
        }
      }
    }
    
  2. 상태 속성의 값을 확인합니다. 인스턴스에서 애플리케이션 실행을 시작하려면 인스턴스가 활성화되어 있어야 합니다.

자세한 정보

서버리스 인스턴스를 프로비저닝할 때 권장되는 우수 사례를 따르십시오.