建立 Python 套件安裝的程式庫集
程式庫集是程式庫的集合,您可以在耗用程式庫的 Spark 應用程式中建立及參照這些程式庫。 程式庫集儲存在實例建立時與實例相關聯的實例起始儲存體中。
目前,您只能透過 conda 或 pip install 來安裝 Python 套件。
Analytics Engine 組合了一個稱為 customize_instance_app.py 的 Spark 應用程式,您可以執行該應用程式來建立具有自訂套件的程式庫集,並可供 Spark 應用程式使用。
必備項目: 若要建立程式庫集,您必須具有提交 Spark 應用程式的許可權。 請參閱 使用者許可權。
如果要建立程式庫集,請執行下列動作:
-
準備 JSON 檔案,如下所示:
{ "library_set": { "action": "add", "name": "my_library_set", "libraries": { "conda": { "python": { "packages": ["numpy"] } } } } }JSON 屬性的說明如下:
"library_set": 定義程式庫集的最上層 JSON 物件。"action": 指定要對媒體庫集採取的動作。 若要建立程式庫集,我們使用"add"。 目前,"add"是唯一支援的選項。"name": 指定用來識別程式庫集的名稱。 所建立的程式庫集儲存在您指定為instance home的 IBM Cloud Object Storage 實例中具有此名稱的檔案中。 重要事項: 如果您建立多個檔案庫集,則必須對每一個檔案庫集使用唯一名稱。 否則它們會彼此改寫。"libraries": 定義一組程式庫。 您可以在此區段中指定一或多個檔案庫。 這個元素的每個程式庫套件管理程式都有一個子 JSON 物件。 目前只支援"conda"和"pip"套件管理程式。 使用"pip"或"conda"來安裝 Python 套件。"conda": 程式庫套件管理程式。"python": 磁帶庫語言。 目前僅支援 Python。"packages": 要安裝的套件清單。 若要安裝特定版本的套件,請使用下列格式來傳遞版本:package_name==version。
-
取得 IAM 記號。
-
在下列 REST API 呼叫中,以
"arguments"身分傳遞 JSON 檔案。 在傳遞至 REST API 呼叫時,請確定您已根據需要跳出引號。curl -X POST https://api.us-south.ae.cloud.ibm.com/v3/analytics_engines/<instance_id>/spark_applications --header "Authorization: Bearer <IAM token>" -H "content-type: application/json" -d @createLibraryset.jsoncreateLibraryset.json 的範例:
{ "application_details": { "application": "/opt/ibm/customization-scripts/customize_instance_app.py", "arguments": ["{\"library_set\":{\"action\":\"add\",\"name\":\"my_library_set\",\"libraries\":{\"conda\":{\"python\":{\"packages\":[\"numpy\"]}}}}}"] } }重要事項: 您必須跳出作為應用程式引數傳遞之字串中的所有雙引號字元。
如果接受應用程式,您會收到類似下列的回應:
{ "id": "87e63712-a823-4aa1-9f6e-7291d4e5a113", "state": "accepted" }當狀態變成 FINISHED 時,程式庫集建立完成。
-
透過呼叫應用程式狀態 REST API 來追蹤應用程式的狀態。 請參閱 取得應用程式的狀態。