FileStore
FileStore是一個特殊的文件夾內DBFS,您可以保存文件和web瀏覽器來訪問它們。您可以使用FileStore:
保存文件,如圖片和庫,可在HTML和JavaScript時調用
displayHTML
。輸出你想下載的文件保存到本地桌麵。
上傳csv和其他數據文件從本地桌麵磚過程。
當你使用某些特性,磚FileStore下把文件在以下文件夾:
/ FileStore /罐
——包含你的圖書館上傳。如果你刪除文件在這個文件夾中,庫引用這些文件在您的工作空間中可能不再工作。/ FileStore /表
——包含的文件,您導入使用用戶界麵。如果你刪除文件在這個文件夾中,創建的表,你可能不再可訪問這些文件。
重要的
UI庫上傳使用圖書館存儲在DBFS根。所有工作空間用戶有能力修改數據和文件存儲在DBFS根。你可以避免這種利用雲對象存儲庫,使用庫包存儲庫,或者上傳圖書館工作區文件。
FileStore保存一個文件
您可以使用dbutils.fs.put
編寫任意文本文件/ FileStore
在DBFS目錄:
dbutils。fs。把(“/ FileStore /我的東西/ my-file.txt”,“這是實際的文本將被保存到磁盤。就像一個“Hello world !”“榜樣”)
在下麵,取代< databricks-instance >
與工作空間的URL你的磚部署。
文件存儲在/ FileStore
可以在您的web瀏覽器中訪問嗎https:// < databricks-instance > /文件/
。例如,存儲在文件中/ FileStore /我的東西/ my-file.txt
可以在https:// < databricks-instance > /文件/我的東西/ my-file.txt
。
然而,如果有? o =
在部署URL,例如,https:// < databricks-instance > / ? o = 6280049833385130
、替換https:// < databricks-instance > /文件/我的東西/ my-file.txt
與https:// < databricks-instance > /文件/我的東西/ my-file.txt ? o = # # # # # #
後的數量o =
在你的URL是一樣的。
請注意
您還可以使用DBFS文件上傳接口文件/ FileStore
目錄中。看到在DBFS探索和創建表。
將靜態圖像嵌入到筆記本
您可以使用文件/
位置靜態圖像嵌入到你的筆記本:
displayHTML(“< img src =“文件/ image.jpg”>“)
或減價圖像導入語法:
% md ! [my_test_image](文件/ image.jpg)
你可以上傳使用的靜態圖像DBFS API和請求Python HTTP庫。在以下的例子:
進口請求進口json進口操作係統令牌=“<標記>”頭={“授權”:不記名的% s”%令牌}url=“https:// < databricks-instance > / api / 2.0”dbfs_dir=“dbfs: / FileStore / < image-dir > /”defperform_query(路徑,頭,數據={}):會話=請求。會話()分別地=會話。請求(“職位”,url+路徑,數據=json。轉儲(數據),驗證=真正的,頭=頭)返回分別地。json()defmkdir(路徑,頭):_data={}_data(“路徑”]=路徑返回perform_query(“/ dbfs / mkdir”,頭=頭,數據=_data)def創建(路徑,覆蓋,頭):_data={}_data(“路徑”]=路徑_data(“覆蓋”]=覆蓋返回perform_query(“dbfs /創建”,頭=頭,數據=_data)defadd_block(處理,數據,頭):_data={}_data(“處理”]=處理_data(“數據”]=數據返回perform_query(“/ dbfs / addblock”,頭=頭,數據=_data)def關閉(處理,頭):_data={}_data(“處理”]=處理返回perform_query(“dbfs /關閉”,頭=頭,數據=_data)defput_file(src_path,dbfs_path,覆蓋,頭):處理=創建(dbfs_path,覆蓋,頭=頭)[“處理”]打印(“把文件:“+dbfs_path)與開放(src_path,rb的)作為local_file:而真正的:內容=local_file。讀(2* *20.)如果len(內容)= =0:打破add_block(處理,b64encode(內容)。解碼(),頭=頭)關閉(處理,頭=頭)mkdir(路徑=dbfs_dir,頭=頭)文件=(f為f在操作係統。listdir(“。”)如果操作係統。路徑。isfile(f)]為f在文件:如果“使用”在f:target_path=dbfs_dir+f分別地=put_file(src_path=f,dbfs_path=target_path,覆蓋=真正的,頭=頭)如果分別地= =沒有一個:打印(“成功”)其他的:打印(分別地)