Airbnb の Airflow を使用して別のサーバーに SSH 接続し、BashOperator を実行する方法はありますか? Airflow で hive sql コマンドを実行しようとしていますが、hive シェルを実行するには別のボックスに SSH 接続する必要があります。タスクは次のようになります。
- サーバー1へのSSH
- Hiveシェルを起動する
- Hiveコマンドを実行する
ありがとう!
ベストアンサー1
Airflow 2.x では使用できません。
私はちょうどそれを理解したと思います:
UIの「管理 > 接続」でSSH接続を作成します。注意: データベースをリセットすると接続は削除されます。
Pythonファイルに以下を追加します
from airflow.contrib.hooks import SSHHook sshHook = SSHHook(conn_id=<YOUR CONNECTION ID FROM THE UI>)
SSHオペレータータスクを追加する
t1 = SSHExecuteOperator( task_id="task1", bash_command=<YOUR COMMAND>, ssh_hook=sshHook, dag=dag)
ありがとう!