【发布时间】:2021-09-02 20:54:26
【问题描述】:
我正在使用targets 工作流管道。此管道的一部分是监视 csv 文件目录的更新。这个目录有10000多个csv文件,每周都会增加新文件。我希望能够识别新添加的文件并将它们附加到现有的一组 *.rds 文件中。最简单的方法是每周重新运行创建*.rds 文件的5 个子集的过程,但这需要时间。有效的方法是识别新添加的文件,只需将bind_rows 与正确的rds 文件一起使用。
我可以通过使用dir() 和setdiff() 的典型编程很容易地做到这一点,我在其中存储了前一天的 csv 文件路径的快照。但我正在努力在targets 框架内实现这一目标。
这是一个似乎行不通的尝试。我想我想监视/_targets 目录中的临时结果,但我不知道该怎么做。而且,targets 文档建议不要在目标配置本身中使用tar_load。
tar_script({
list(
tar_target(csv_directory, "/csv/"),
tar_target(csv_snapshot, dir(csv_directory)),
tar_target(append_action, if(length(setdiff(dir(csv_directory), dir(csv_snapshot))) > 0){
...}
})
【问题讨论】:
标签: r workflow target targets-r-package