FileStore

FileStore是一個特殊的文件夾內DBFS,您可以保存文件和web瀏覽器來訪問它們。您可以使用FileStore:

  • 保存文件,如圖片和庫,可在HTML和JavaScript時調用displayHTML

  • 輸出你想下載的文件保存到本地桌麵。

  • 上傳csv和其他數據文件從本地桌麵磚過程。

當你使用某些特性,磚FileStore下把文件在以下文件夾:

  • / FileStore /罐——包含你的圖書館上傳。如果你刪除文件在這個文件夾中,庫引用這些文件在您的工作空間中可能不再工作。

  • / FileStore /表——包含的文件,您導入使用用戶界麵。如果你刪除文件在這個文件夾中,創建的表,你可能不再可訪問這些文件。

重要的

UI庫上傳使用圖書館存儲在DBFS根。所有工作空間用戶有能力修改數據和文件存儲在DBFS根。你可以避免這種利用雲對象存儲庫,使用庫包存儲庫,或者上傳圖書館工作區文件。

FileStore保存一個文件

您可以使用dbutils.fs.put編寫任意文本文件/ FileStore在DBFS目錄:

dbutilsfs(“/ 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.txthttps:// < 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庫。在以下的例子:

  • 取代< databricks-instance >工作空間的URL你的磚部署。

  • 取代<標記>與你的價值個人訪問令牌

  • 取代< image-dir >的位置FileStore你想上傳圖像文件的地方。

請注意

作為一個安全最佳實踐進行身份驗證時使用自動化工具,係統、腳本和應用程序,磚建議您使用OAuth令牌或個人訪問令牌屬於服務主體而不是用戶工作區。為服務主體,創建令牌服務主體的管理令牌

進口請求進口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,=)文件=(ff操作係統listdir(“。”)如果操作係統路徑isfile(f)]f文件:如果“使用”f:target_path=dbfs_dir+f分別地=put_file(src_path=f,dbfs_path=target_path,覆蓋=真正的,=)如果分別地= =沒有一個:打印(“成功”)其他的:打印(分別地)

規模的靜態圖像

規模大小的圖像保存到DBFS,複製圖像/ FileStore然後利用圖像參數調整displayHTML:

dbutilsfscp(“dbfs: / user /實驗/模板- 1. png”,“dbfs: / FileStore /圖片/”)displayHTML(“< img src = "文件/圖像/ MyImage-1。png”風格= "寬度:600 px;高度:600 px;“>”)

筆記本的例子:使用JavaScript庫

這個筆記本顯示如何使用FileStore包含JavaScript庫。

DBFS FileStore例子筆記本

在新標簽頁打開筆記本