磚工作任務之間共享信息

您可以使用任務值通過磚工作任務之間的任意參數。你通過任務值使用taskValues subutility在磚實用工具。的taskValues subutility提供了一個簡單的API,允許任務輸出值,可以引用在後續任務,使其更容易創造更多的富有表現力的工作流。例如,您可以溝通標識符或指標,如機器學習模型的評價信息,不同工作中的任務運行。每個任務可以設置多個任務值。在Python中任務值可以設置和檢索筆記本。

使用任務值

的taskValues subutility提供了兩個命令:dbutils.jobs.taskValues.set ()設置一個變量dbutils.jobs.taskValues.get ()獲取一個值。假設你有兩個筆記本的任務:Get_user_dataAnalyze_user_data並希望通過用戶的姓名和年齡Get_user_data任務的Analyze_user_data的任務。下麵的示例設置用戶的姓名和年齡Get_user_data任務:

dbutils工作taskValues(關鍵=“名字”,價值=一些用戶的)dbutils工作taskValues(關鍵=“年齡”,價值=30.)
  • 關鍵是關鍵任務的名稱值。這個名稱必須是唯一的任務。

  • 價值是這個任務的價值價值的關鍵。該命令必須能夠代表內部以JSON格式的值。價值的JSON表示的大小不能超過48簡約。

下麵的例子然後中的值Analyze_user_data任務:

dbutils工作taskValues得到(taskKey=“Get_user_data”,關鍵=“年齡”,默認的=42,debugValue=0)dbutils工作taskValues得到(taskKey=“Get_user_data”,關鍵=“名稱”,默認的=“簡”)
  • taskKey是工作任務的名稱設置值。如果命令無法找到這個任務,ValueError是提高。

  • 關鍵是任務的名字價值的關鍵。如果命令無法找到這個任務價值的關鍵ValueError提高(除非默認的指定)。

  • 默認的返回的是一個可選值,如果關鍵不能被發現。默認的不能沒有一個

  • debugValue返回的是一個可選值,如果你試圖從內部獲得任務價值之外的筆記本運行工作。這可能是有用的在調試手動當你想運行你的筆記本並返回一個值而不是提高TypeError默認情況下。debugValue不能沒有一個

任務之間的共享上下文的更複雜的示例,假設您有一個應用程序,該應用程序包括幾個機器學習模型來預測一個人的收入給不同個人屬性和任務,確定最佳模型使用基於先前的三個任務的輸出。模型由三個任務命名Logistic_Regression,Decision_Tree,Random_Forest,Best_Model任務決定了最佳模型,使用基於輸出前麵的三個任務。

圖的分類應用程序示例

每個模型的準確性(如何分類器預測收入)是通過在一個任務價值確定表現最好的算法。例如,與相關的邏輯回歸的筆記本Logistic_Regression任務包括以下命令:

dbutils工作taskValues(關鍵=“model_performance”,價值=結果)

每個模型的任務設置的值model_performance關鍵。的Best_Model每個任務任務讀取的值,並使用這個值來確定最優模型。下麵的例子讀取設定的值Logistic_Regression任務:

logistic_regression=dbutils工作taskValues得到(taskKey=“Logistic_Regression”,關鍵=“model_performance”)

查看任務值

查看任務的價值值後運行一個任務,去任務運行曆史的任務。結果顯示在任務的價值輸出麵板。