供应 Analytics Engine
对于 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 是唯一受支持的区域。
-
选择套餐。 目前,Standard Serverless for Apache Spark 是唯一受支持的无服务器套餐。
-
通过输入您选择的名称,选择资源组并添加标记来配置实例。
-
选择可用的最新运行时版本(例如 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: 指定要在其中供应实例的区域。
请注意,目前,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-south 和 eu-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。
使用资源控制器 REST API 创建服务实例
IBM Analytics Engine 无服务器实例必须驻留在 IBM Cloud® 资源组中。 作为通过资源控制器 REST API 创建 IBM Analytics Engine 无服务器实例的第一步,您必须手头有资源组标识和无服务器计划标识。
要使用资源控制器 REST API 创建服务实例:
-
通过登录到 IBM Cloud® CLI 并运行以下命令来获取资源组标识:
ibmcloud resource groups
样本结果:
Retrieving all resource groups under account <Account details..> OK Name ID Default Group State Default XXXXX true ACTIVE
-
将以下资源计划标识用于 Standard Serverless for Apache Spark 计划:
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.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" } } }
有关用于创建实例的资源控制器 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 } } }
- 检查状态属性的值。 它必须处于 活动 状态,然后才能开始在实例中运行应用程序。
了解更多
供应无服务器实例时,请遵循建议的 最佳实践。