IBM Cloud Docs
供应 Analytics Engine

供应 Analytics Engine

对于 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. 选择套餐。 目前,Standard Serverless for Apache Spark 是唯一受支持的无服务器套餐。

  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: 指定要在其中供应实例的区域。

    请注意,目前,standard-serverless-spark 是唯一受支持的无服务器套餐,而 us-south 和 eu-de 是唯一受支持的区域。 选择一个与供应 watsonx.data的区域更接近的区域。

    • PATH_to JSON 文件: 包含包含供应参数的 JSON 文件的路径。

    例如,达拉斯地区:

    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 文件示例。

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

    对 create instance 命令的 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
    

    对 create instance 命令的样本响应为:

    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
    

    记录输出中的实例标识。 当您调用实例管理或 Spark 应用程序管理 API 时,将需要实例标识。 请参阅 Spark 应用程序 REST API

  5. 跟踪实例就绪情况

使用资源控制器 REST API 创建服务实例

IBM Analytics Engine 无服务器实例必须驻留在 IBM Cloud® 资源组中。 作为通过资源控制器 REST API 创建 IBM Analytics Engine 无服务器实例的第一步,您必须手头有资源组标识和无服务器计划标识。

要使用资源控制器 REST API 创建服务实例:

  1. 通过登录到 IBM Cloud® CLI 并运行以下命令来获取资源组标识:

    ibmcloud resource groups
    

    样本结果:

    Retrieving all resource groups under account <Account details..>
    OK
    Name      ID      Default Group   State
    Default   XXXXX   true            ACTIVE
    
  2. 将以下资源计划标识用于 Standard Serverless for Apache Spark 计划:

    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. 检查状态属性的值。 它必须处于 活动 状态,然后才能开始在实例中运行应用程序。

了解更多

供应无服务器实例时,请遵循建议的 最佳实践