kedro parameters 简单使用
kedro 的parameters还是比较强大的,我们直接可以基于配置,或者运行时定义就可以方便的使用配置参数,以下是使用的简单说明
定义parameters
一般是在conf/base/parameters.yml 中,当然也可以配置特定pipeline 的parameters
- 参考
name: dalong
age: 33
version: v1
- 使用
node 使用,pipeline 定义input 参数
def preprocess_companies(companies: pd.DataFrame,parameters: Dict) -> Tuple[pd.DataFrame, Dict]:
node(
func=preprocess_companies,
inputs=["companies","parameters"],
outputs=["preprocessed_companies", "companies_columns"],
name="preprocess_companies_node",
),
特定key 参数的引用,比如只使用name
node(
func=preprocess_companies,
inputs=["companies","parameters:name"],
outputs=["preprocessed_companies", "companies_columns"],
name="preprocess_companies_node",
),
- 运行时指定参数
kedro run --params=name=dalong,age=2222
说明
编程模式也是可以获取parameters的会做为一个data catalog 信息,同时通过配置模式也可以获取到,比如OmegaConfigLoader 模式
from kedro.config import OmegaConfigLoader, MissingConfigException
from kedro.framework.project import settings
conf_path = str(project_path / settings.CONF_SOURCE)
conf_loader = OmegaConfigLoader(conf_source=conf_path)
try:
parameters = conf_loader["parameters"]
except MissingConfigException:
parameters = {}
参考资料
https://docs.kedro.org/en/stable/configuration/parameters.html