可能是一个非常简单的问题,但我无法从great_expectations的文档中看出这一点。我想在本地存储为“..pkl”文件的熊猫数据文件上运行一些测试。
当我运行great_expectations add-datasource时,它忽略了.pkl文件,只为.csv文件创建了资产。从熊猫那里读取csv文件很慢,所以如果GE能够支持其他格式,比如泡菜和HDF,那就太好了。
如何将.pkl或.hdf文件作为GE的资产加载?
我使用的是v0.8.7 :)
发布于 2020-01-16 17:04:49
对于熊猫(和星火),有一个很好的通用方法,可以完全控制数据的读取方式,这就是通过你的BatchKwargs指定一个已经可用的数据。
因此,在您的情况下,您可以执行以下操作:
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的,并假设数据上下文配置如下所示:
datasources:
my_datasource:
class_name: PandasDatasource
...
generators:
in_memory_generator:
class_name: InMemoryGeneratorPS -这个目的是InMemoryGenerator存在的主要原因.
编辑
在>= 0.9.0中,get_batch的API已经简化,因此在本例中根本不需要生成器,数据源名称在批处理kwargs中指定。类似的代码片段如下所示:
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")(不需要发电机)
https://stackoverflow.com/questions/59766843
复制相似问题