我能够将Great_Expectations套件保存到Databricks Community上的tmp文件夹中,如下所示:
ge_partdf.save_expectation_suite('/tmp/myexpectation_suite.json',discard_failed_expectations=False)但问题是,当我重新启动集群时,json文件在tmp文件夹中的长度会更长。我猜原因是因为驻留在tmp文件夹中的文件是临时的。但是,如果我尝试保存一个我知道在Databricks (例如/FileStore/table)上存在的文件夹,就会得到错误消息:
FileNotFoundError: [Errno 2] No such file or directory: '/FileStore/tables/myexpectation_suite.json'有人能告诉我如何在数据库上保存本地数据库吗?
发布于 2021-12-17 16:40:14
save_expectation_suite函数使用本地Python并将数据存储在本地磁盘上,而不是在DBFS上--这就是文件消失的原因。
如果您使用完整的数据库(在AWS或Azure上),那么您只需要将/dbfs添加到您的路径中,并且文件将通过所谓的DBFS保险丝存储在DBFS上(参见文档)。
在社区版本中,您需要继续使用本地磁盘,然后使用dbutils.fs.cp将文件从本地磁盘复制到DBFS。
根据评论更新可见性:
要引用本地文件,需要将file://追加到路径中。所以我们有两个案子:
dbutils.fs.cp('file:///tmp/myexpectation_suite.json', "/FileStore/tables")dbutils.fs.cp("/FileStore/tables/myexpectation_suite.json",
'file:///tmp/myexpectation_suite.json')https://stackoverflow.com/questions/70395651
复制相似问题