0

我在“hello_world”教程的“catalog.yml”文件中添加了“versioned: true”。

example_iris_data:
  type: pandas.CSVDataSet
  filepath: data/01_raw/iris.csv
  versioned: true

然后,当我使用“kedro run”运行教程时,出现如下错误:“VersionNotFoundError:未找到 CSVDataSet 的任何版本”。

我可以知道对“iris.csv”文件进行版本控制的正确方法是什么吗?谢谢!

4

2 回答 2

1

尝试对下游输出之一进行版本控制。例如,将此条目添加到您的catalog.yml, 并运行kedro run

example_train_x:
  type: pandas.CSVDataSet
  filepath: data/02_intermediate/example_iris_data.csv
  versioned: true

你会看到.example_iris.data.csv下的目录(不是文件)data/02_intermediate。给你一个错误的原因example_iris_data是它是起始数据并且已经iris.csv存在data/01_raw,Kedro 无法创建data/01_raw/iris.csv/目录,因为与现有iris.csv文件的名称冲突。

希望这可以帮助 :)

于 2020-06-15T10:58:04.390 回答
0

错误的原因是当 Kedro 尝试加载数据集时,它会在其中查找文件data/01_raw/iris.csv/<load_version>/iris.csv,当然找不到这样的路径。所以如果你真的想为你的输入数据启用版本控制,你可以iris.csv像这样移动:

mv data/01_raw/iris.csv data/01_raw/iris.csv_tmp
mkdir data/01_raw/iris.csv
mv data/01_raw/iris.csv_tmp data/01_raw/iris.csv/<put_some_timestamp_here>/iris.csv

您不需要对任何中间数据执行此操作,因为此路径操作由 Kedro 在保存数据集时自动完成(但不是在加载时)。

于 2020-06-18T11:59:51.550 回答