我正在使用targets
工作流管道。此管道的一部分是监视 csv 文件目录的更新。这个目录有10000多个csv文件,每周都会增加新文件。我希望能够识别新添加的文件并将它们附加到现有的一组*.rds
文件中。最简单的方法是重新运行*.rds
每周创建 5 个文件子集的过程,但这需要时间。有效的方法是识别新添加的文件,并且只需bind_rows
使用正确的rds
文件。
dir()
我可以通过使用and的典型编程很容易地做到这一点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){
...}
})