在Drake工作流程中手动添加依赖项?

时间:2019-01-17 22:07:52

标签: drake-r-package

比方说,我有一个Drake计划,我在一个外部数据库中创建一个SQL表,然后完成该工作,然后从依赖于初始工作的某些表中进行下载。我的计划可能看起来像这样

C:\Program Files\Android\Android Studio\jre\bin

是否有一种手动强制down_job在up_job下游的方法? drake_plan(up_job = create_sql_file('some_input.csv'), down_job = download_from_sql('my_code.sql') create_sql_file并没有内在的含义,德雷克能够解析以推断出这种关系,但是我仍然想手动应用它。

谢谢!

1 个答案:

答案 0 :(得分:0)

要使down_job依赖于up_job,在up_job的命令中应提及file_out()up_job创建的down_job

使用up_job返回值的示例

library(drake)

plan <- drake_plan(
  db_path = create_sql_db_from(file_in("some_input.csv")), 
  down_job = download_from_sql(db = db_path, file_in("my_code.sql"))
)

plan
#> # A tibble: 2 x 2
#>   target   command                                                    
#>   <chr>    <chr>                                                      
#> 1 db_path  "create_sql_db_from(file_in(\"some_input.csv\"))"          
#> 2 down_job "download_from_sql(db = db_path, file_in(\"my_code.sql\"))"

config <- drake_config(plan)
vis_drake_graph(config)

enter image description here

文件路径示例

library(drake)

plan <- drake_plan(
  up_job = create_sql_db_from(file_in("some_input.csv"), file_out("db_path")),
  down_job = download_from_sql(file_in("db_path"), file_in("my_code.sql"))
)

plan
#> # A tibble: 2 x 2
#>   target   command                                                         
#>   <chr>    <chr>                                                           
#> 1 up_job   "create_sql_db_from(file_in(\"some_input.csv\"), file_out(\"db_…
#> 2 down_job "download_from_sql(file_in(\"db_path\"), file_in(\"my_code.sql\…

config <- drake_config(plan)
vis_drake_graph(config)

reprex package(v0.2.1)于2019-01-25创建