FileStore
FileStore是其中的一个特殊文件夹什么是数据库文件系统(DBFS)?在那里你可以保存文件,并让他们访问你的网络浏览器。你可以使用FileStore:
保存调用时可以在HTML和JavaScript中访问的文件,如图像和库
displayHTML
.保存要下载到本地桌面的输出文件。
从本地桌面上传csv和其他数据文件,以便在Databricks上处理。
当您使用某些特性时,Databricks将文件放在FileStore下的以下文件夹中:
/ FileStore /罐
-包含您需要上传.如果删除此文件夹中的文件,则工作区中引用这些文件的库可能不再工作。/ FileStore /表
命令导入的文件用户界面.如果删除此文件夹中的文件,则从这些文件创建的表可能不再可访问。
将文件保存到FileStore
你可以使用dbutils.fs.put
将任意文本文件写入/ FileStore
DBFS目录:
dbutils.fs.把(“/ 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.txt
与https:// < databricks-instance > /文件/我的东西/ my-file.txt ? o = # # # # # #
后面的数字o =
和你的URL一样。
请注意
还可以使用DBFS文件上传接口将文件放在/ FileStore
目录中。看到在DBFS中探索和创建表.
在笔记本中嵌入静态图像
您可以使用文件/
将静态图像嵌入笔记本的位置:
displayHTML("")
或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”,头=头,数据=_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,覆盖=真正的,头=头)如果分别地= =没有一个:打印(“成功”)其他的:打印(分别地)