首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在数据库上本地保存Great_Expectations套件(社区版)

如何在数据库上本地保存Great_Expectations套件(社区版)
EN

Stack Overflow用户
提问于 2021-12-17 15:49:42
回答 1查看 355关注 0票数 3

我能够将Great_Expectations套件保存到Databricks Community上的tmp文件夹中,如下所示:

代码语言:javascript
复制
ge_partdf.save_expectation_suite('/tmp/myexpectation_suite.json',discard_failed_expectations=False)

但问题是,当我重新启动集群时,json文件在tmp文件夹中的长度会更长。我猜原因是因为驻留在tmp文件夹中的文件是临时的。但是,如果我尝试保存一个我知道在Databricks (例如/FileStore/table)上存在的文件夹,就会得到错误消息:

代码语言:javascript
复制
FileNotFoundError: [Errno 2] No such file or directory: '/FileStore/tables/myexpectation_suite.json'

有人能告诉我如何在数据库上保存本地数据库吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-17 16:40:14

save_expectation_suite函数使用本地Python并将数据存储在本地磁盘上,而不是在DBFS上--这就是文件消失的原因。

如果您使用完整的数据库(在AWS或Azure上),那么您只需要将/dbfs添加到您的路径中,并且文件将通过所谓的DBFS保险丝存储在DBFS上(参见文档)。

在社区版本中,您需要继续使用本地磁盘,然后使用dbutils.fs.cp将文件从本地磁盘复制到DBFS。

根据评论更新可见性:

要引用本地文件,需要将file://追加到路径中。所以我们有两个案子:

  1. 将生成的套件从本地磁盘复制到DBFS:
代码语言:javascript
复制
dbutils.fs.cp('file:///tmp/myexpectation_suite.json', "/FileStore/tables")
  1. 将套件从DBFS复制到本地磁盘以加载:
代码语言:javascript
复制
dbutils.fs.cp("/FileStore/tables/myexpectation_suite.json", 
  'file:///tmp/myexpectation_suite.json')
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70395651

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档