创建库集Python包安装
库集是您可以在使用这些库的 Spark 应用程序中创建和引用的库的集合。 库集存储在创建实例时与该实例关联的实例主存储中。
目前您只能安装Python包裹通过 conda
或者 pip install
。 Spark 引擎捆绑了一个名为 customize_instance_app.py
运行该程序可以创建一个包含自定义包的库集,可供您的 Spark 应用程序使用。
先决条件:创建库集需要您有提交Spark应用的权限。 看 管理角色和权限。
要创建库集:
-
准备一个如下所示的 JSON 文件:
{ "library_set": { "action": "add", "name": "my_library_set", "libraries": { "conda": { "python": { "packages": ["numpy"] } } } } }
JSON 属性的描述如下:
"library_set"
:定义库集的顶级 JSON 对象。"action"
:指定要针对库集采取的操作。 要创建库集,我们使用"add"
。 现在,"add"
是唯一支持的选项。"name"
:指定用于标识库集的名称。 创建的库集存储在IBM Cloud Object Storage您指定为的实例instance home
。 重要的注意:如果创建多个库集,则每个库集必须使用唯一的名称。 否则它们将互相覆盖。"libraries"
:定义一组库。 您可以在此部分指定一个或多个库。 每个库包管理器此元素都有一个子 JSON 对象。 目前,只有"conda"
和"pip"
支持包管理器。 使用"pip"
或者"conda"
安装Python包。"conda"
:库包管理器。"python"
:图书馆语言。 目前只支持 Python。"packages"
:要安装的软件包列表。 要安装软件包的特定版本,请使用以下格式传递版本:package_name==version
。
-
获取 IAM 令牌。
-
传递 JSON 文件为
"arguments"
在以下 REST API 调用中。 确保在传递给 REST API 调用时按要求转义引号。curl --request POST --url https://<region>.lakehouse.cloud.ibm.com/lakehouse/api/v2/spark_engines/<spark_engine_id>/applications --header 'Authorization: Bearer <token>' --header 'Content-Type: application/json' --header 'AuthInstanceID: <crn_instance>' -d @createLibraryset.json
重要的:您必须转义作为应用程序参数传递的字符串中的所有双引号字符。
参数值:
<region>
区域:配置 Spark 实例的区域。<spark_engine_id>
:本地 Spark 引擎的引擎 ID。<crn_instance>
:watsonx.data 实例的 CRN。<token>
:不记名标记。 有关生成令牌的更多信息,请参阅 生成不记名令牌。
如果申请被接受,您将收到如下回复:
{ "id": "87e63712-a823-4aa1-9f6e-7291d4e5a113", "state": "accepted" }
当状态变为 FINISHED 时,表示库集创建完成。
-
通过调用应用程序状态 REST API 来跟踪应用程序的状态。