【问题标题】:how to make a kedro pipeline take configurable input dataframes?如何使 kedro 管道采用可配置的输入数据帧?
【发布时间】:2021-11-27 21:24:07
【问题描述】:

我在 kedro 中创建了一个由不同数据科学处理管道组成的工作流。这些管道经过独立测试。

当我以独立方式运行特定的 kedro 管道时,管道从 CSV 文件中获取输入。

在生产环境中,管道需要拼接在一起。在生产中,当我将这个管道(PL1)与另一个管道(PL0)一起运行时,我希望管道(PL1)从管道(PL0)获取它的输入。

那么如何根据运行时选项使 kedro 管道的输入可配置?运行时选项可以是独立的也可以是集成的。

我很欣赏任何示例代码来完成同样的事情。

【问题讨论】:

    标签: kedro


    【解决方案1】:

    例如,使用kedro new --starter spaceflights 创建一个新的 Kedro 示例项目。如果您接受所有默认提示,您将在new-kedro-project 目录中得到一个项目。在该文件夹中,您会发现 src/new_kedro_project/pipeline_registry.py 包含两个管道(dpds)以及它们的组合 __default__ 管道。 dpds 分别类似于您的 PL0PL1

    首先,让我们允许ds 管道在standalone 环境中运行。管道中有一个数据集输入 model_input_table,我们为此在 standalone 环境的目录 conf/standalone/catalog.yml 中定义了一个目录条目:

    model_input_table:
      type: pandas.CSVDataSet
      filepath: data/03_primary/example_model_input_table.csv
      layer: primary
    

    现在,您可以使用 kedro run --env standalone --pipeline ds 在独立环境中运行您的 ds 管道,前提是您已将示例数据放在 data/03_primary/example_model_input_table.csv 中。

    在生产环境中,您可以使用kedro run --env production 运行端到端管道,假设您在conf 下创建了一个production 文件夹。如果为空,这几乎相当于只使用默认的base 环境(不同之处在于是否考虑了local 环境中的某些内容)。

    实际上,您可能会根据环境更改更多路径,很可能使用templated configuration。您可以在官方文档的Configuration 部分阅读更多关于所有这些内容的信息,包括additional configuration environments

    【讨论】:

      猜你喜欢
      • 2022-12-21
      • 2017-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多