一种替代单元格以实现数据科学流水线选择性执行的方案
软件工程
2023-04-10 v2
摘要
数据科学家常使用笔记本开发数据科学(DS)流水线,尤其是因为其允许选择性执行流水线的部分内容。然而,用于DS的笔记本存在许多众所周知的缺陷。本文我们关注以下方面:(1)笔记本中可能堆满不属于主DS流水线、仅用于做决策的代码单元格(例如列出表格数据集的列)。(2)虽然允许用户以任意顺序执行单元格,但并非每种顺序都正确,因为单元格可能依赖于其他单元格中的声明。(3)在对某单元格作修改后,该单元格及所有依赖于被修改声明的单元格必须重新运行。(4)外部值的变更需要笔记本的部分重新执行。(5)由于单元格是最小执行单元,不受变更影响的代码可能被无意中重新执行。为解决这些问题,我们提议以单元格作为DS流水线选择性执行的基础予以替换。相反,我们建议为变量填充一个上下文菜单,其中包含适配其类型的操作(如变量为表格数据集时列出列)。这些操作基于数据流分析执行,以确保尊重变量间依赖关系并在变更后正确更新结果。我们的方案将流水线代码与决策代码分离,并自动化依赖管理,从而减少杂乱与出错风险。
引用
@article{arxiv.2302.14556,
title = {An Alternative to Cells for Selective Execution of Data Science Pipelines},
author = {Lars Reimann and Günter Kniesel-Wünsche},
journal= {arXiv preprint arXiv:2302.14556},
year = {2023}
}
备注
Accepted for the NIER Track of the 45th International Conference on Software Engineering (ICSE 2023)