迁移指南¶
See the release notes on GitHub 查看每个Kedro版本的详细内容信息。
将使用Kedro 0.18.*的现有项目迁移至0.19.*版本¶
移除了--params的自定义语法¶
Kedro 0.19.0 移除了自定义的 --params 语法。要更新,您需要使用 OmegaConf 语法,将 : 替换为 =。
如果你使用这个命令向kedro run传递参数:
kedro run --params=param_key1:value1,param_key2:2.0
你现在应该使用以下内容:
kedro run --params=param_key1=value1,param_key2=2.0
更多信息请参阅“如何在运行时指定参数”。
create_default_data_set() 已从 Runner¶ 中移除
Kedro 0.19版本移除了Runner中的create_default_data_set()方法。要覆盖默认数据集创建,现在需要使用新的Runner类参数extra_dataset_patterns来代替。
在类实例化时,传入extra_dataset_patterns参数,并按如下方式覆盖默认的MemoryDataset创建逻辑:
from kedro.runner import ThreadRunner
runner = ThreadRunner(extra_dataset_patterns={"{default}": {"type": "MyCustomDataset"}})
project_version 已被移除¶
Kedro 0.19 移除了 project_version 在 pyproject.toml 中的配置。请改用 kedro_init_version:
[tool.kedro]
package_name = "my_project"
project_name = "my project"
- project_version = "0.19.1"
+ kedro_init_version = "0.19.1"
0.19版本中的数据集变更¶
catalog.yml 中的 layer 属性已迁移¶
从0.19版本开始,顶层的layer属性已被移至metadata -> kedro-viz属性内部。您需要相应地更新catalog.yml文件。
以下 catalog.yml 条目在 0.18.x 版本代码中发生了如下变更:
companies:
type: pandas.CSVDataSet
filepath: data/01_raw/companies.csv
layer: raw
在0.19.x版本中:
companies:
type: pandas.CSVDataset
filepath: data/01_raw/companies.csv
metadata:
kedro-viz:
layer: raw
对于APIDataset,catalog.yml中requests相关的参数已迁移¶
从0.19版本开始,如果您使用APIDataset,需要将所有requests特有的参数(如params、headers)在层级结构中移动到load_args之下。而url和method参数不受影响。
例如,以下在 catalog.yml 中的 APIDataset 从 0.18.x 版本代码中的形式变更为:
us_corn_yield_data:
type: api.APIDataSet
url: https://quickstats.nass.usda.gov
credentials: usda_credentials
params:
key: SOME_TOKEN
format: JSON
在0.19.x版本中:
us_corn_yield_data:
type: api.APIDataSet
url: https://quickstats.nass.usda.gov
credentials: usda_credentials
load_args:
params:
key: SOME_TOKEN
format: JSON
数据集重命名¶
在0.19.0版本中,我们重命名了数据集和错误类以遵循Kedro术语表。
以
DataSet结尾的数据集类已被替换为以Dataset结尾的类。以
DataSet开头的错误类已被替换为以Dataset开头的类。
以下所有类也可以从kedro.io导入;仅列出它们定义的模块位置。
类型 |
已移除的别名 |
位置 |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
所有其他数据集类已从Kedro核心仓库中移除 (kedro.extras.datasets)¶
你现在需要从kedro-datasets包中安装并导入数据集。
0.19版本中的配置变更¶
在Kedro 0.18.12版本中,ConfigLoader和TemplatedConfigLoader类已被弃用,并在Kedro 0.19.0版本中移除。要使用该版本或更高版本,您现在必须改用OmegaConfigLoader。配置迁移指南概述了旧加载器与OmegaConfigLoader之间的主要区别,并提供了逐步说明,帮助您有效更新代码库以使用新类。
默认环境的变更¶
0.19版本中默认配置环境已变更,如果存在自定义参数,需在settings.py中显式声明。例如,若您在settings.py中使用CONFIG_LOADER_ARGS读取Spark配置,则需要显式添加base_env和default_run_env参数。
0.19.x版本之前:
CONFIG_LOADER_ARGS = {
# "base_env": "base",
# "default_run_env": "local",
"config_patterns": {
"spark": ["spark*", "spark*/**"],
}
}
在0.19.x版本中:
CONFIG_LOADER_ARGS = {
"base_env": "base",
"default_run_env": "local",
"config_patterns": {
"spark": ["spark*", "spark*/**"],
}
}
如果您的代码中没有使用CONFIG_LOADER_ARGS,则无需进行此更改,因为Kedro默认会设置它。
日志记录¶
logging.yml 现在独立于Kedro的运行环境,仅当设置KEDRO_LOGGING_CONFIG指向该文件时才会被使用。日志记录文档详细描述了Kedro中的日志工作机制以及如何进行自定义配置。