我使用PartitionedDataSet从azure存储加载多个csv文件。我在datacatalog中定义了数据集如下所示。
my_partitioned_data_set:
type: PartitionedDataSet
path: my/azure/folder/path
credentials: my credentials
dataset: pandas.CSVDataSet
load_args:
sep: ";"
encoding: latin1
我还定义了一个节点来组合所有分区。但是当将每个文件作为CSVDataSet加载时,kedro并没有考虑load_args,所以我得到了下面的错误。
Failed while loading data from data set CSVDataSet(filepath=my/azure/folder/path, load_args={}, protocol=abfs, save_args={'index': False}).
'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte
错误显示,在加载CSVDataSet时,kedro没有考虑PartitionedDataSet中定义的load_args。并将一个空的dict作为load_args参数传递给CSVDataSet。我遵循的https://kedro.readthedocs.io/en/stable/05_data/02_kedro_io.html#partitioned-dataset
文档,我没有得到我正在做的错误。
发布于 2021-12-05 06:07:54
在数据集中移动load_args
my_partitioned_data_set:
type: PartitionedDataSet
path: my/azure/folder/path
credentials: my credentials
dataset:
type: pandas.CSVDataSet
load_args:
sep: ";"
encoding: latin1
前面提到的
load_args
数据集被传递到相应的文件系统implementation的find()
方法中。
要将粒度配置传递给底层数据集,
dataset
中,如上面所示。您可以查看文档中的详细信息。
https://stackoverflow.com/questions/70230262
复制相似问题