嗨
我有一個筆記本和許多命令行細胞。
我想提取每個單元的執行時間使用磚REST API的?我怎麼能這樣做呢?
請注意——我找到工作的開始和結束時間使用REST API(/ 2.1 /工作/運行/得到)的筆記本然而努力得到它在細胞水平
13我在Azure磚運行時版本。
任何幫助,這將是高度讚賞。
@Milind科爾:
提取每個單元的執行時間在筆記本使用磚REST API,您可以使用get方法的API / 2.0 /工作區端點。
首先,你需要筆記本的ID使用api / 2.0 / workspace /獲得狀態端點。一旦你的ID,您可以使用get方法的api / 2.0 /工作區端點筆記本內容。響應包括細胞的開始時間和結束時間。然後,您可以計算每個單元的執行時間。
這是一個Python腳本,它使用磚REST API來提取每個單元格在一個筆記本的執行時間:
進口進口json請求#磚工作區URL = https:// < databricks-instance > .azuredatabricks.net的URL #磚工作區API令牌的牌= ' < databricks-token > #筆記本路徑notebook_path = /路徑/ /筆記本的#得到筆記本ID get_status_url = f ' {URL} / API / 2.0 / workspace /獲得狀態的頭={“授權”:f 'Bearer{牌}'}params = ={“路徑”:notebook_path}響應請求。get (get_status_url header =頭,params = params) notebook_id = response.json () (“object_id”) #獲得筆記本內容get_url = f ' {url} / api / 2.0 /工作區/得到的params ={“路徑”:notebook_path} data ={‘格式’:‘源’}=請求響應。get (get_url header =頭,params = params, data = json.dumps(數據)notebook_content = response.json()(“內容”)# = notebook_content提取細胞執行時間細胞。分裂(“#命令- - - - - - - - - - - \ n”)細胞在細胞[1:]:細胞= cell.strip()如果不是細胞:繼續cell_content = cell.split (“\ n”) cell_start_time = cell_content [0]。split (“-”) [0] cell_end_time = cell_content [1]。split (“-”) [0] execution_time = (pd.to_datetime (cell_end_time)——pd.to_datetime (cell_start_time)) .total_seconds()打印(f 'Cell執行時間:{execution_time}秒”)
你需要替換< databricks-instance >, < databricks-token >,與你的磚和/路徑/ /筆記本實例URL, API的令牌,分別和你的筆記本的道路。