如何在Kedro Pipeline可视化中将原始数据集分组为可折叠节点
解决Kedro Pipeline可视化中原始数据集分组折叠的问题
方法:用虚拟命名空间节点模拟分组
因为Kedro原生命名空间依赖节点函数,直接给纯数据集分组不可行,你可以通过创建一个无业务逻辑的虚拟节点,将所有原始数据集关联到这个节点的命名空间下,实现可视化中的折叠效果:
- 创建虚拟节点函数
在项目的src/<你的项目名>/nodes/目录下新建文件(比如grouping_utils.py),写入空函数:
def dummy_group_node(**kwargs): # 仅用于可视化分组,无实际数据处理逻辑 pass
- 在Pipeline中添加虚拟节点
修改src/<你的项目名>/pipeline.py,引入虚拟节点并添加到Pipeline,指定命名空间和标签:
from kedro.pipeline import Pipeline, node from .nodes.grouping_utils import dummy_group_node def create_pipeline(**kwargs) -> Pipeline: return Pipeline( [ # 原有业务节点... # 原始数据分组虚拟节点 node( func=dummy_group_node, inputs=["dataset0", "dataset1", "dataset2", "dataset3", "dataset4", "dataset5"], outputs=None, name="原始数据容器", namespace="原始数据", tags=["visualization_only"] ), # 原有业务节点... ] )
运行可视化并折叠分组
启动kedro viz后,你会看到名为“原始数据”的命名空间节点,点击即可折叠/展开所有关联的原始数据集。运行Pipeline时跳过虚拟节点
为避免执行无意义的虚拟节点,运行时添加标签排除:
kedro run --exclude-tags visualization_only
替代方案:自定义Kedro Viz分组规则(进阶)
如果不想添加虚拟节点,你可以修改Kedro Viz的前端分组逻辑:
- 给所有原始数据集添加统一标签(比如
raw_data),然后修改Kedro Viz的源码或配置,让其自动将同标签的数据集归为可折叠组。 - 这种方法需要对Kedro Viz的源码有一定了解,适合有定制化需求的场景。
内容的提问来源于stack exchange,提问作者Ben Smith
相关产品推荐
相关产品推荐

