佈建 IBM Analytics Engine 無伺服器實例

您可以建立無伺服器 IBM Analytics Engine 服務實例:

請注意,在佈建無伺服器實例時,您無法定義特定限制及配額設定。 這些值是預先定義的。 如需這些設定及其值的清單,請參閱 Analytics Engine 實例的限制和配額

您必須有權存取 IBM Cloud® us-south (達拉斯) 或 eu-de (法蘭克福) 地區。

從 IBM Cloud 主控台建立服務實例

您可以使用 IBM Cloud 主控台來建立實例。 若要瞭解使用者介面中佈建設定背後的概念,請參閱 無伺服器實例中的架構及概念

要建立IBM Analytics Engine實例:

  1. 登入 IBM Cloud® 主控台

  2. 按一下 服務,然後選取種類 分析

  3. 搜尋 Analytics Engine,然後按一下磚以開啟服務實例建立頁面。

  4. 選擇您要在其中部署服務實例的位置。 目前,us-southeu-de 是唯一支援的地區。

  5. 選取方案。 目前,Standard Serverless for Apache Spark 是唯一支援的無伺服器方案。

  6. 透過輸入您選擇的名稱、選取資源群組並新增標籤來配置實例。

  7. 選取預設 Spark 執行時期。 Spark 3.4是預設的。 依預設,執行時期會預先安裝時空、資料跳過及 Paquet 模組化加密套件。

  8. 從您要用作 instance home 以儲存實例相關資料的帳戶中選取 IBM Cloud Object Storage 實例。

  9. 新增 Spark 配置值以置換預設 Apache Spark 設定。

  10. 按一下 建立,以在背景中佈建服務實例。

    新建立的服務會列在 IBM Cloud® 資源清單 中的 **服務*下。

使用 IBM Cloud 指令行介面建立服務實例

若要使用 IBM Cloud® 指令行介面來建立服務實例,請執行下列動作:

  1. 下載並配置 IBM Cloud® CLI。 請遵循 開始使用 IBM Cloud® CLI 中的指示。

  2. 設定地區的 API 端點並登入:

    ibmcloud api https://{DomainName}
    ibmcloud login
    
  3. 取得帳戶的資源群組清單,並選取其中一個傳回的資源群組作為目標資源群組,以在其中建立 IBM Analytics Engine 無伺服器實例:

    ibmcloud resource groups
    ibmcloud target -g <resource_group_name>
    
  4. 建立服務實例:

    ibmcloud resource service-instance-create <service_instance_name> ibmanalyticsengine <plan_name> <region> -p @<path_to JSON file with cluster parameters>
    

    例如,對於達拉斯地區:

    ibmcloud resource service-instance-create MyServiceInstance ibmanalyticsengine standard-serverless-spark us-south -p @provision.json
    

    您可以為服務實例提供您選擇的任何名稱。 請注意,目前 standard-serverless-spark 是唯一支援的無伺服器方案,而 us-southeu-de 則是唯一支援的地區。

    provision.json 檔案包含您要建立之實例的佈建參數。

    有效負載 JSON 檔案中 IBM Cloud Object Storage 實例的端點應該是直接端點。 直接端點提供比公共端點更好的效能,並且不會對任何傳出或傳入頻寬產生費用。

    這是 provision.json 檔案的範例。 如需有效負載中供應參數的說明,請參閱 無伺服器實例中的架構及概念

    請注意,支援 Spark 3.4。 如果您在建立服務實例時未指定預設的Spark執行時間版本,則預設採用Spark 3.4。

    {
      "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
    

    請記下輸出中的實例 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 方案使用下列資源方案 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 檔案包含您要建立之實例的佈建參數。 如需有效負載中供應參數的說明,請參閱 無伺服器實例中的架構及概念

    請注意,支援 Spark 3.4。 如果您在建立服務執行個體時未指定預設的 Spark 執行階段版本,則預設採用 Spark 3.。

    這是 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 的相關資訊,請參閱 建立(佈建)新的資源實例

追蹤實例備妥

若要在新建立的無伺服器實例上執行應用程式,實例必須處於 active 狀態。

若要追蹤實例就緒狀態,請執行下列動作:

  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. 檢查 "state" 屬性的值。 它必須是 active,您才能開始在實例中執行應用程式。

進一步瞭解

佈建無伺服器實例時,請遵循建議的 最佳作法