如何定位targets动态分支报错对应的数据源文件?
定位targets动态分支对应的错误数据文件
以下几种方法可以帮你关联报错分支与对应的数据文件:
用
tar_meta()查询分支元数据
直接运行tar_meta(my_target, branches = TRUE),返回结果中找到ID为my_target_ec58af61779dfe2e的行,查看command列——里面会包含该分支对应的文件路径(因为分支基于files目标动态生成,command会记录调用read()时传入的具体文件参数)。用
tar_branches()获取分支映射
调用tar_branches(my_target),会返回一个列表,每个元素对应一个分支,包含分支ID和对应的输入文件路径。通过匹配报错的分支ID,就能直接定位到对应的文件。定义target时显式关联文件名
如果后续需要更直观的映射,可以在定义my_target时确保分支与文件名的关联清晰:tar_target(my_target, read(file), pattern = map(file), format = "rds")这样
tar_meta(my_target)的command列会明确显示每个分支对应的file参数,排查时更直接。调试时临时打印文件名
修改你的read()函数,在处理前打印当前文件路径,报错时就能直接看到问题文件:read <- function(file) { cat("正在处理文件:", file, "\n") data <- read.csv(file) # 原有格式化逻辑 data$date_col <- as.POSIXct(data$date_col) data }重新运行管道,报错前最后打印的文件就是出错的那个。
内容的提问来源于stack exchange,提问作者scoa
相关产品推荐
相关产品推荐

