我的语言环境文件中有一个python脚本,我不想将其SCP到远程机器上,并使用由气流远程触发的SSHOperator运行。如何在远程计算机中运行locale.py文件并获得结果
我需要带python_可调用的SSHOperator,而不是bash_命令
有人能给我看一个像SSHPYTHONOperator这样的远程自定义操作符示例吗
我解决以下问题:
gettime="""
import os
import datetime
def gettimes():
print(True)
gettimes()
"""
remote_python_get_delta_times=SSHOperator(task_id= "get_delta_times",do_xcom_push=True,
command="MYVAR=`python -c" + ' "%s"`;echo $MYVAR' % gettime ,dag=dag,ssh_hook=remote)
我在文档中看到一个SSH操作符:https://airflow.apache.org/docs/apache-airflow/1.10.13/_api/airflow/contrib/operators/ssh_operator/index.html
如果这对您不起作用,那么您必须使用SSH库(如Paramiko)创建一个自定义操作符 然后使用它将代码从Github/S3或SCP文件拉到服务器,然后在那里执行
您需要确保所有依赖项也安装在远程服务器上
相关问题 更多 >
编程相关推荐