有没有办法通过 ssh 连接到不同的服务器并使用 Airbnb 的 Airflow 运行 BashOperator? 我正在尝试使用 Airflow 运行 hive sql 命令,但我需要通过 SSH 连接到另一个盒子才能运行 hive shell。 我的任务应该是这样的:
- SSH 到服务器 1
- 启动 Hive 外壳
- 运行 Hive 命令
谢谢!
最佳答案
不适用于 Airflow 2.x。
我想我只是想通了:
在 UI 中的 Admin > Connection 下创建 SSH 连接。注意:如果您重置数据库,连接将被删除
在 Python 文件中添加以下内容
from airflow.contrib.hooks import SSHHook sshHook = SSHHook(conn_id=<YOUR CONNECTION ID FROM THE UI>)
添加 SSH 运算符(operator)任务
t1 = SSHExecuteOperator( task_id="task1", bash_command=<YOUR COMMAND>, ssh_hook=sshHook, dag=dag)
谢谢!
关于python - Airflow:如何从不同的服务器进行 SSH 和运行 BashOperator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39457592/