加载 PartitionedDataSet 时出现 kedro DataSetError

kedro DataSetError while loading PartitionedDataSet

我正在使用 PartitionedDataSet 从 Azure blob 存储加载多个 csv 文件。我在数据目录中定义了我的数据集,如下所示。

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。并将空字典作为 load_args 参数传递给 CSVDataSet。 我正在关注文档 https://kedro.readthedocs.io/en/stable/05_data/02_kedro_io.html#partitioned-dataset 我不知道我在哪里做错了。

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提到的外部数据集被传递到相应文件系统实现的find()方法

  • 要将粒度配置传递给基础数据集,请将其放入 dataset 中,如上所示。

您可以在文档中查看详细信息

https://kedro.readthedocs.io/en/stable/05_data/02_kedro_io.html?highlight=partitoned%20dataset#partitioned-dataset-definition