我的locale文件中有一个python脚本,我不想将其SCP到远程机器上,并通过airflow远程触发的SSHOperator运行。如何在远程计算机上运行区域设置.py文件并获得结果?
我需要SSHOperator和python_callable,而不是bash_command。
有人能给我看一下像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)发布于 2020-12-22 17:14:01
我在气流文档中看到了一个SSH操作符:https://airflow.apache.org/docs/apache-airflow/1.10.13/_api/airflow/contrib/operators/ssh_operator/index.html
如果这对您不起作用,那么您将不得不使用Paramiko之类的SSH库创建一个自定义操作符,然后使用它将代码从Github/S3或SCP将您的文件拉到服务器上,然后在那里执行它。
您需要确保所有依赖项也安装在远程服务器上。
https://stackoverflow.com/questions/65405733
复制相似问题