数据工作流管理与探索指南
1. 数据工作流管理
1.1 工作流基础
在数据处理中,有时一个步骤可能会花费很长时间,或者你希望继续使用相同的数据,又或者数据来自有速率限制的 API。这时,让一个步骤将数据保存到文件,后续步骤对该文件进行操作是个不错的选择,这样可以避免冗余计算或 API 调用。
一个简单的 Drake 工作流示例如下:
data/top-5 <- curl -s 'http://www.gutenberg.org/browse/scores/top' | grep -E '^<li>' | head -n 5 | sed -E "s/.*ebooks\/([0-9]+).*/\\1/" > data/top-5这个工作流只有一个步骤,第一行包含向左的箭头,这是步骤定义。箭头左侧的top-5是该步骤的名称或输出,右侧为空表示该步骤没有输入。定义输入和输出能让 Drake 识别步骤之间的依赖关系。步骤的主体就是之前的命令,不过进行了缩进。
1.2 运行工作流
运行这个简单的工作流:
$ dr