供应 IBM Analytics Engine 无服务器实例

您可以创建无服务器 IBM Analytics Engine 服务实例:

请注意,在供应无服务器实例时,您无法定义某些限制和配额设置。 这些值是预定义的。 请参阅 Analytics Engine 实例的限制和配额,以获取这些设置及其值的列表。

您必须有权访问 IBM Cloud® us-south (达拉斯) 或 eu-de (Frankurt) 区域。

从 IBM Cloud 控制台创建服务实例

您可以使用 IBM Cloud 控制台创建实例。 要了解 UI 中供应设置背后的概念,请参阅 无服务器实例中的体系结构和概念

创建IBM Analytics Engine实例:

  1. 登录 IBM Cloud® 控制台

  2. 单击 Sevices,然后选择类别 分析

  3. 搜索 Analytics Engine,然后单击磁贴以打开服务实例创建页面。

  4. 选择要在其中部署服务实例的位置。 目前,us-southeu-de 是唯一受支持的区域。

  5. 选择套餐。 目前,Standard Serverless for Apache Spark 是唯一受支持的无服务器套餐。

  6. 通过输入您选择的名称,选择资源组并添加标记来配置实例。

  7. 选择缺省 Spark 运行时。 默认值为 Spark3.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 文件的外观样本。 请参阅 无服务器实例中的体系结构和概念,以获取有效内容中供应参数的描述。

    注意支持 Spark3.4。 如果在创建服务实例时没有指定默认的 Spark 运行时版本,则默认使用 Spark3.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"
        }
    }
    

    对 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
    

    记录输出中的实例标识。 当您调用实例管理或 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 文件包含要创建的实例的供应参数。 请参阅 无服务器实例中的体系结构和概念,以获取有效内容中供应参数的描述。

    注意支持 Spark3.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,然后才能开始在实例中运行应用程序。

了解更多

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