Comment puis-je établir une connexion entre le cluster maître EMR (créé par Terraform) et Airflow. J'ai la configuration d'Airflow sous le serveur AWS EC2 avec les mêmes SG, VPC et sous-réseau.
J'ai besoin de solutions pour qu'Airflow puisse parler à EMR et exécuter Spark submit.
Ces blogs ont une compréhension de l'exécution après l'établissement de la connexion (n'a pas beaucoup aidé).
Dans le flux d'air, j'ai établi une connexion en utilisant l'interface utilisateur pour AWS et EMR: -
Ci-dessous le code qui listera les clusters EMR qui sont actifs et terminés, je peux également affiner pour obtenir des clusters actifs: -
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’])
Ma question est - Comment puis-je mettre à jour mon code ci-dessus peut faire des actions Spark-submit
Comme vous avez créé EMR à l'aide de Terraform, vous obtenez l'IP maître sous la forme aws_emr_cluster.my-emr.master_public_dns
J'espère que cela t'aides.