FileStore

FileStore是內部的一個特殊文件夾什麼是數據庫文件係統(DBFS)?在那裏你可以保存文件,並讓他們訪問您的網頁瀏覽器。你可以使用FileStore:

  • 保存在調用時可以通過HTML和JavaScript訪問的文件,如圖像和庫displayHTML

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

  • 從本地桌麵上傳csv和其他數據文件,以便在Databricks上處理。

當您使用某些特性時,Databricks將文件放在FileStore下的以下文件夾中:

  • / FileStore /罐-包含您上傳.如果刪除此文件夾中的文件,則在工作空間中引用這些文件的庫可能不再工作。

  • / FileStore /表控件導入的文件用戶界麵.如果刪除此文件夾中的文件,則可能無法再訪問從這些文件創建的表。

  • / FileStore /塊-包含你打電話時在筆記本上創建的圖像顯示()在Python或R plot對象上,例如ggplotmatplotlib情節。如果您刪除了這個文件夾中的文件,您可能不得不在引用這些文件的筆記本中重新生成這些圖。看到Matplotlib而且ggplot2為更多的信息。

  • / FileStore import-stage-包含導入時創建的臨時文件筆記本電腦磚檔案文件。這些臨時文件在筆記本導入完成後消失。

將文件保存到FileStore

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

dbutilsfs“/ FileStore /我的東西/ my-file.txt”這是將保存到磁盤上的實際文本。就像“你好,世界!”“榜樣”

在以下操作中,替換< databricks-instance >工作空間的URL您的Databricks部署。

文件存儲在/ FileStore是否可在您的網頁瀏覽器訪問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目錄中。看到使用Data選項卡瀏覽並創建表

在筆記本中嵌入靜態圖像

您可以使用文件/將靜態圖像嵌入筆記本的位置:

displayHTML“< img src =“文件/ image.jpg”>“

或Markdown圖像導入語法:

% md ! [my_test_image](文件/ image.jpg)

您可以使用DBFS上傳靜態圖像Databricks REST API參考請求Python HTTP庫。以下示例:

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

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

  • 取代< image-dir >位置在FileStore要上傳圖像文件的位置。

請注意

作為安全最佳實踐,在使用自動化工具、係統、腳本和應用程序進行身份驗證時,Databricks建議您使用屬於服務主體的訪問令牌,而不是工作區用戶。有關更多信息,請參見管理服務主體

進口請求進口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”數據_datadef創建路徑覆蓋):_data{}_data“路徑”路徑_data“覆蓋”覆蓋返回perform_query“dbfs /創建”數據_datadefadd_block處理數據):_data{}_data“處理”處理_data“數據”數據返回perform_query“/ dbfs / addblock”數據_datadef關閉處理):_data{}_data“處理”處理返回perform_query“dbfs /關閉”數據_datadefput_filesrc_pathdbfs_path覆蓋):處理創建dbfs_path覆蓋)[“處理”打印“把文件:“+dbfs_path開放src_pathrb的作為local_file真正的內容local_file2**20.如果len內容= =0打破add_block處理b64encode內容解碼(),關閉處理mkdir路徑dbfs_dir文件ff操作係統listdir“。”如果操作係統路徑isfilef)]f文件如果“使用”ftarget_pathdbfs_dir+f分別地put_filesrc_pathfdbfs_pathtarget_path覆蓋真正的如果分別地= =沒有一個打印“成功”其他的打印分別地

規模的靜態圖像

若要縮放已保存到DBFS的映像的大小,請將映像複製到/ FileStore然後使用圖像參數調整大小displayHTML

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

使用Javascript庫

這本筆記本展示了如何使用FileStore來包含一個JavaScript庫。

FileStore演示筆記本