能否将R脚本作为Airflow DAG运行?我尝试在网上查找相关文档但未能成功。谢谢。
目前似乎没有 R 运算符。
你可以编写自己的运算符并贡献给社区,或者简单地将你的任务作为 BashOperator 运行,调用 RScript。
使用BashOperator来执行R脚本。 例如: opr_hello = BashOperator(task_id='xyz',bash_command='Rscript Pathtofile/file.r')
process_data = BashOperator(
task_id='process_data',
bash_command = 'docker run --rm=true -v /home/myuser/airflow/dags/source/my_r_project_folder:/source rocker/verse:4.3 Rscript /source/my_r_script.R'
)
process_data
/home/myuser/airflow/dags/source/my_r_project_folder
挂载为一个卷,以便R脚本和任何数据文件都存在于容器中,然后使用rocker/verse image定义的环境从该/source
目录执行文件my_r_script.R
。为了保证可重复性,在这种情况下最好为该镜像指定一个特定的标签,例如4.3。
bash my_shell_script.sh
,然后在该bash脚本中使用RScript来执行你的R文件。 - Scott Skiles