EMRマスタークラスター(Terraformによって作成)とAirflow間の接続を確立するにはどうすればよいですか?同じSG、VPC、サブネットを持つAWS EC2サーバーでAirflowを設定しています。
AirflowがEMRと通信してSpark submitを実行できるようにするためのソリューションが必要です。
これらのブログは、接続が確立された後の実行について理解しています。(あまり役に立たなかった)
エアフローでは、AWSとEMRのUIを使用して接続しました:-
以下は、アクティブで終了するEMRクラスターをリストするコードです。アクティブクラスターを取得するように微調整することもできます。
from airflow.contrib.hooks.aws_hook import AwsHook
import boto3
hook = AwsHook(aws_conn_id=‘aws_default’)
client = hook.get_client_type(‘emr’, ‘eu-central-1’)
for x in a:
print(x[‘Status’][‘State’],x[‘Name’])
私の質問は-上記のコードを更新してSpark-submitアクションを実行するにはどうすればよいですか
Terraformを使用してEMRを作成すると、マスターIPはaws_emr_cluster.my-emr.master_public_dns
として取得されます
お役に立てれば。