Utiliser Apache Oozie comme source pour AWS SCT - AWS Schema Conversion Tool

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utiliser Apache Oozie comme source pour AWS SCT

Vous pouvez utiliser l'interface de ligne de AWS SCT commande (CLI) pour convertir les flux de travail Apache Oozie en. AWS Step Functions Après avoir migré vos charges de travail Apache Hadoop vers Amazon EMR, vous pouvez utiliser un service natif dans le AWS Cloud pour orchestrer vos tâches. Pour plus d'informations, veuillez consulter Utiliser Apache Hadoop comme source.

AWS SCTconvertit vos flux de travail Oozie AWS Step Functions et les utilise pour AWS Lambda émuler des fonctionnalités qui AWS Step Functions ne sont pas prises en charge. AWS SCTConvertit également vos propriétés d'emploi Oozie en. AWS Systems Manager

Pour convertir les flux de travail Apache Oozie, assurez-vous d'utiliser AWS SCT la version 1.0.671 ou supérieure. Familiarisez-vous également avec l'interface de ligne de commande deAWS SCT. Pour plus d'informations, veuillez consulter AWS SCT Référence CLI.

Prérequis pour utiliser Apache Oozie comme source

Les prérequis suivants sont requis pour se connecter à Apache Oozie à l'aide de l'interface de ligne de commande. AWS SCT

  • Créez un compartiment Amazon S3 pour stocker les définitions des machines d'état. Vous pouvez utiliser ces définitions pour configurer vos machines d'État. Pour plus d'informations, consultez la section Création d'un bucket dans le Guide de l'utilisateur Amazon S3.

  • Créez un rôle AWS Identity and Access Management (IAM) avec la AmazonS3FullAccess politique. AWS SCTutilise ce rôle IAM pour accéder à votre compartiment Amazon S3.

  • Prenez note de votre clé AWS secrète et de votre clé d'accès AWS secrète. Pour plus d'informations sur les clés AWS d'accès, consultez la section Gestion des clés d'accès dans le Guide de l'utilisateur IAM.

  • Stockez vos AWS informations d'identification et les informations relatives à votre compartiment Amazon S3 dans le profil AWS de service dans les paramètres globaux de l'application. AWS SCTUtilise ensuite ce profil de AWS service pour utiliser vos AWS ressources. Pour plus d'informations, veuillez consulter Stockage des profilsAWS de service dansAWS SCT.

Pour travailler avec vos flux de travail source Apache Oozie, vous AWS SCT devez disposer de la structure spécifique de vos fichiers source. Chacun de vos dossiers de candidature doit inclure le job.properties fichier. Ce fichier inclut les paires clé-valeur de vos propriétés de travail. De plus, chacun des dossiers de votre application doit inclure le workflow.xml fichier. Ce fichier décrit les nœuds d'action et les nœuds de flux de contrôle de votre flux de travail.

Connexion à Apache Oozie en tant que source

Utilisez la procédure suivante pour vous connecter à vos fichiers source Apache Oozie.

Pour vous connecter à Apache Oozie dans l'interface de ligne de commande AWS SCT
  1. Créez un nouveau script AWS SCT CLI ou modifiez un modèle de scénario existant. Par exemple, vous pouvez télécharger et modifier le OozieConversionTemplate.scts modèle. Pour plus d'informations, veuillez consulter Obtenir des scénarios CLI.

  2. Configurez les paramètres de AWS SCT l'application.

    L'exemple de code suivant enregistre les paramètres de l'application et permet de stocker des mots de passe dans votre projet. Vous pouvez utiliser ces paramètres enregistrés dans d'autres projets.

    SetGlobalSettings -save: 'true' -settings: '{ "store_password": "true" }' /
  3. Créez un nouveau AWS SCT projet.

    L'exemple de code suivant crée le oozie projet dans le c:\sct dossier.

    CreateProject -name: 'oozie' -directory: 'c:\sct' /
  4. Ajoutez le dossier contenant vos fichiers source Apache Oozie au projet à l'aide de la AddSource commande. Assurez-vous d'utiliser la APACHE_OOZIE valeur du vendor paramètre. Fournissez également des valeurs pour les paramètres obligatoires suivants : name etmappingsFolder.

    L'exemple de code suivant ajoute Apache Oozie en tant que source dans votre AWS SCT projet. Cet exemple crée un objet source portant le nomOOZIE. Utilisez ce nom d'objet pour ajouter des règles de mappage. Après avoir exécuté cet exemple de code, AWS SCT utilise le c:\oozie dossier pour charger vos fichiers source dans le projet.

    AddSource -name: 'OOZIE' -vendor: 'APACHE_OOZIE' -mappingsFolder: 'c:\oozie' /

    Vous pouvez utiliser cet exemple et les exemples suivants sous Windows.

  5. Connectez-vous à vos fichiers source Apache Oozie à l'aide de la ConnectSource commande. Utilisez le nom de votre objet source que vous avez défini à l'étape précédente.

    ConnectSource -name: 'OOZIE' -mappingsFolder: 'c:\oozie' /
  6. Enregistrez votre script CLI. Ajoutez ensuite les informations de connexion pour votre AWS Step Functions service.

Autorisations d'utilisation AWS Lambda des fonctions du pack d'extensions

Pour les fonctions source qui AWS Step Functions ne sont pas prises en charge, AWS SCT crée un pack d'extension. Ce pack d'extension inclut AWS Lambda des fonctions qui émulent vos fonctions source.

Pour utiliser ce pack d'extensions, créez un rôle AWS Identity and Access Management (IAM) avec les autorisations suivantes.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "lambda", "Effect": "Allow", "Action": [ "lambda:InvokeFunction" ], "Resource": [ "arn:aws:lambda:*:498160209112:function:LoadParameterInitialState:*", "arn:aws:lambda:*:498160209112:function:EvaluateJSPELExpressions:*" ] }, { "Sid": "emr", "Effect": "Allow", "Action": [ "elasticmapreduce:DescribeStep", "elasticmapreduce:AddJobFlowSteps" ], "Resource": [ "arn:aws:elasticmapreduce:*:498160209112:cluster/*" ] }, { "Sid": "s3", "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::*/*" ] } ] }

Pour appliquer le pack d'extensions, un rôle IAM avec les autorisations suivantes est AWS SCT requis.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:GetRole", "iam:ListRolePolicies", "iam:CreateRole", "iam:TagRole", "iam:PutRolePolicy", "iam:DeleteRolePolicy", "iam:DeleteRole", "iam:PassRole" ], "Resource": [ "arn:aws:iam::ACCOUNT_NUMBER:role/sct/*" ] }, { "Effect": "Allow", "Action": [ "iam:GetRole", "iam:ListRolePolicies" ], "Resource": [ "arn:aws:iam::ACCOUNT_NUMBER:role/lambda_LoadParameterInitialStateRole", "arn:aws:iam::ACCOUNT_NUMBER:role/lambda_EvaluateJSPELExpressionsRole", "arn:aws:iam::ACCOUNT_NUMBER:role/stepFunctions_MigratedOozieWorkflowRole" ] }, { "Effect": "Allow", "Action": [ "lambda:GetFunction", "lambda:CreateFunction", "lambda:UpdateFunctionCode", "lambda:DeleteFunction" ], "Resource": [ "arn:aws:lambda:*:ACCOUNT_NUMBER:function:LoadParameterInitialState", "arn:aws:lambda:*:ACCOUNT_NUMBER:function:EvaluateJSPELExpressions" ] } ] }

Connexion à AWS Step Functions en tant que cible

Suivez la procédure suivante pour vous connecter AWS Step Functions en tant que cible.

Pour vous connecter à l'AWS SCTinterface AWS Step Functions de ligne de commande
  1. Ouvrez votre script CLI qui inclut les informations de connexion pour vos fichiers source Apache Oozie.

  2. Ajoutez les informations relatives à votre cible de migration dans le AWS SCT projet à l'aide de la AddTarget commande. Assurez-vous d'utiliser la STEP_FUNCTIONS valeur du vendor paramètre. Fournissez également des valeurs pour les paramètres obligatoires suivants : name etprofile.

    L'exemple de code suivant ajoute AWS Step Functions en tant que source dans votre AWS SCT projet. Cet exemple crée un objet cible avec le nomAWS_STEP_FUNCTIONS. Utilisez ce nom d'objet lorsque vous créez des règles de mappage. Cet exemple utilise également un profil de AWS SCT service que vous avez créé à l'étape des prérequis. Assurez-vous de remplacer profile_name par le nom de votre profil.

    AddTarget -name: 'AWS_STEP_FUNCTIONS' -vendor: 'STEP_FUNCTIONS' -profile: 'profile_name' /

    Si vous n'utilisez pas le profil de AWS service, assurez-vous de fournir des valeurs pour les paramètres obligatoires suivants : accessKeysecretKey,awsRegion, ets3Path. Utilisez ces paramètres pour spécifier votre clé d'accès AWS AWS secrète, votre clé secrète et le chemin d'accès à votre compartiment Amazon S3. Région AWS

  3. Connectez-vous à AWS Step Functions l'aide de la ConnectTarget commande. Utilisez le nom de l'objet cible que vous avez défini à l'étape précédente.

    L'exemple de code suivant permet de se connecter à l'objet AWS_STEP_FUNCTIONS cible à l'aide de votre profil AWS de service. Assurez-vous de remplacer profile_name par le nom de votre profil.

    ConnectTarget -name: 'AWS_STEP_FUNCTIONS' -profile: 'profile_name' /
  4. Enregistrez votre script CLI. Ajoutez ensuite des règles de mappage et des commandes de migration. Pour plus d'informations, veuillez consulter Conversion d'Apache Oozie en AWS Step Functions.