Вручную добавить зависимость в рабочий процесс Drake?

Допустим, у меня есть план Drake, где я создаю таблицу SQL во внешней базе данных, и после этого задания я загружаю из какой-то таблицы, которая зависит от первоначального задания. Мой план может выглядеть так

drake_plan(up_job = create_sql_file('some_input.csv'), 
           down_job = download_from_sql('my_code.sql')

Есть ли способ вручную заставить down_job быть ниже up_job? Там нет ничего присущего create_sql_file или же download_from_sql этот селезень сможет разобрать, чтобы вывести отношения, но я все же хотел бы применить их вручную.

Спасибо!

1 ответ

Иметь 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)

Пример с путями к файлам

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)

Создано в 2019-01-25 пакетом представлением (v0.2.1)

Другие вопросы по тегам