Airflow Dataproc运算符用于运行shell脚本

时间:2017-09-19 13:30:01

标签: python shell airflow google-cloud-dataproc apache-airflow

有没有直接的方法将shell脚本运行到dataproc集群中。目前我可以通过pysparkoperator运行shell(它调用aonther python文件,然后这个python文件调用shell脚本)。我搜索了许多链接,但截至目前还没有找到任何直接的方式。

如果有人能告诉我最简单的方法,对我来说真的很有帮助。

2 个答案:

答案 0 :(得分:1)

sh运算符[1]的PIG作业:gcloud dataproc jobs submit pig ... -e 'sh ls'

但我很好奇最终目标是什么?为什么运行shell脚本?如果您的目的是执行一次性群集设置,那么您应该使用初始化操作[2]。

[1] https://pig.apache.org/docs/r0.9.1/cmds.html#sh

[2] https://cloud.google.com/dataproc/docs/concepts/init-actions

答案 1 :(得分:0)

您可以使用气流 BashOperator 并使用以下命令:

gcloud compute ssh user@server --zone your_cluster_zone \
  --command='Your Command'

示例:

    BashCommand= BashOperator(
    task_id='BashCommand',
    bash_command='gcloud compute ssh user@server --zone your_cluster_zone --command='Your Command',
    dag=dag)