首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在great_expectations中使用经过腌制的熊猫数据作为数据资产

在great_expectations中使用经过腌制的熊猫数据作为数据资产
EN

Stack Overflow用户
提问于 2020-01-16 09:50:01
回答 1查看 843关注 0票数 3

可能是一个非常简单的问题,但我无法从great_expectations的文档中看出这一点。我想在本地存储为“..pkl”文件的熊猫数据文件上运行一些测试。

当我运行great_expectations add-datasource时,它忽略了.pkl文件,只为.csv文件创建了资产。从熊猫那里读取csv文件很慢,所以如果GE能够支持其他格式,比如泡菜和HDF,那就太好了。

如何将.pkl或.hdf文件作为GE的资产加载?

我使用的是v0.8.7 :)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-16 17:04:49

对于熊猫(和星火),有一个很好的通用方法,可以完全控制数据的读取方式,这就是通过你的BatchKwargs指定一个已经可用的数据。

因此,在您的情况下,您可以执行以下操作:

代码语言:javascript
复制
my_dataset = pd.read_pickle(filename)
batch_kwargs = {"dataset": my_dataset}
batch = context.get_batch("my_datasource/in_memory_generator/my_dataset", "warning", batch_kwargs)

注意:这是针对0.8.x系列API的,并假设数据上下文配置如下所示:

代码语言:javascript
复制
datasources:
  my_datasource:
    class_name: PandasDatasource
    ...
    generators:
      in_memory_generator:
        class_name: InMemoryGenerator

PS -这个目的是InMemoryGenerator存在的主要原因.

编辑

在>= 0.9.0中,get_batch的API已经简化,因此在本例中根本不需要生成器,数据源名称在批处理kwargs中指定。类似的代码片段如下所示:

代码语言:javascript
复制
context = DataContext()
my_dataset = pd.read_pickle(filename)
batch_kwargs = {"datasource": "my_datasource", "dataset": my_dataset}
batch = context.get_batch(batch_kwargs=batch_kwargs, expectation_suite_name="warning")

(不需要发电机)

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59766843

复制
相关文章

相似问题

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