有没有直接的方法将shell脚本运行到dataproc集群中。目前我可以通过pysparkoperator运行shell(它调用aonther python文件,然后这个python文件调用shell脚本)。我搜索了许多链接,但截至目前还没有找到任何直接的方式。
如果有人能告诉我最简单的方法,对我来说真的很有帮助。
答案 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)