Kedro 模板配置不会将 globals.yml 配置加载到 Catalog.yml 中

2023-12-13

我正在使用 Kedro 创建一些数据管道,我有多种文件格式以及自定义文件格式。根据文档,我创建了一个globals.yml under config/base我在其中创建了一些全局变量以在catalog.yml。不幸的是,我似乎无法让它发挥作用。

globals.yml看起来像这样:

paths:
    base_path: "s3://my_project"

datasets:
    pdf: "base.PDFDataSet"
    png: "pillow.ImageDataSet"
    csv: "pandas.CSVDataSet"
    excel: "pandas.ExcelDataSet"

data_folders:
    raw: "01_raw"
    intermediate: "02_intermediate"
    primary: "03_primary"
    feature: "04_feature"
    model_input: "05_model_input"
    models: "06_models"
    model_output: "07_model_output"
    reporting: "08_reporting"

settings.py看起来像这样:

from kedro.config import TemplatedConfigLoader
CONFIG_LOADER_CLASS = TemplatedConfigLoader
CONFIG_LOADER_ARGS = {
    "globals_pattern": "*globals.yml",
}

catalog.yml看起来像这样:

_label_images: &label_images
  type: PartitionedDataSet
  path: "${paths.base_path}/data/${data_folders.raw}/label_images"
  dataset: ${datasets.png}

label_images_png:
  <<: *label_images
  filename_suffix: .png

label_images_jpg:
  <<: *label_images
  filename_suffix: .jpg

label_images_jpeg:
  <<: *label_images
  filename_suffix: .jpeg

label_images_pdf:
  <<: *label_images
  dataset: base.PDFDataSet
  filename_suffix: .pdf

my_project_label_extracts:
  type: PartitionedDataSet
  path: s3://my_project/data/01_raw/label_extracts
  dataset: pandas.ExcelDataSet

我相信我应该能够引用内部的变量catalog.yml与 ${...}。但是,我收到此错误:

Invalid bucket name "${bucket}": Bucket name must match the regex
"^[a-zA-Z0-9.\-_]{1,255}$" or be an ARN matching the regex
"^arn:(aws).*:(s3|s3-object-lambda):[a-z\-0-9]*:[0-9]{12}:accesspoint[/:][a-zA-
Z0-9\-.]{1,63}$|^arn:(aws).*:s3-outposts:[a-z\-0-9]+:[0-9]{12}:outpost[/:][a-zA
-Z0-9\-]{1,63}[/:]accesspoint[/:][a-zA-Z0-9\-]{1,63}$"

如果您使用的是 0.17.x

更改函数的返回值register_config_loader 在你的hooks.py:

return TemplatedConfigLoader(conf_paths, globals_pattern='*globals.yml', globals_dict={'KEDRO_ENV': env})

您可能还想import as : from kedro.config import ConfigLoader, TemplatedConfigLoader

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Kedro 模板配置不会将 globals.yml 配置加载到 Catalog.yml 中 的相关文章

随机推荐