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.
Connexion aux flux de travail Apache Oozie à l'aide du AWS Schema Conversion Tool
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 AmazonEMR, vous pouvez utiliser un service natif AWS Cloud pour orchestrer vos tâches. Pour de plus amples informations, veuillez consulter Connexion à Apache Hadoop.
AWS SCT convertit 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 SCT Convertit également les propriétés de votre tâche Oozie en. AWS Systems Manager
Pour convertir les flux de travail Apache Oozie, assurez-vous d'utiliser la AWS SCT version 1.0.671 ou supérieure. Familiarisez-vous également avec l'interface de ligne de commande de AWS SCT. Pour de plus amples informations, veuillez consulter CLIRéférence pour AWS Schema Conversion Tool.
Conditions préalables à l'utilisation d'Apache Oozie en tant que source
Les prérequis suivants sont requis pour se connecter à Apache Oozie avec le. AWS SCT CLI
-
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 compartiment dans le guide de l'utilisateur Amazon S3.
-
Créez un rôle AWS Identity and Access Management (IAM) avec la
AmazonS3FullAccess
politique. AWS SCT utilise ce IAM rôle 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 IAM l'utilisateur.
-
Stockez vos AWS informations d'identification et les informations relatives à votre compartiment Amazon S3 dans le profil de AWS service des paramètres globaux de l'application. Ensuite, AWS SCT utilise ce profil de AWS service pour utiliser vos AWS ressources. Pour de plus amples informations, veuillez consulter Gestion des profils dans le AWS Schema Conversion Tool.
Pour travailler avec vos flux de travail Apache Oozie source, vous devez AWS SCT 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 des propriétés de votre tâche. En outre, chacun de vos dossiers de candidature 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 AWS SCT CLI
-
Créez un nouveau AWS SCT CLI script ou modifiez un modèle de scénario existant. Par exemple, vous pouvez télécharger et modifier le
OozieConversionTemplate.scts
modèle. Pour de plus amples informations, veuillez consulter Obtenir CLI des scénarios. -
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" }' /
-
Créez un nouveau AWS SCT projet.
L'exemple de code suivant crée le
oozie
projet dans lec:\sct
dossier.CreateProject -name: 'oozie' -directory: 'c:\sct' /
-
Ajoutez le dossier contenant vos fichiers source Apache Oozie au projet à l'aide de la
AddSource
commande. Assurez-vous d'utiliser laAPACHE_OOZIE
valeur duvendor
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 nom
OOZIE
. Utilisez ce nom d'objet pour ajouter des règles de mappage. Après avoir exécuté cet exemple de code, AWS SCT utilise lec:\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.
-
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' /
-
Enregistrez votre CLI script. Ajoutez ensuite les informations de connexion pour votre AWS Step Functions service.
Autorisations d'utilisation AWS Lambda des fonctions du pack d'extension
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 sources.
Pour utiliser ce pack d'extension, 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'extension, un IAM rôle doté des 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
Pour vous connecter en tant que cible, procédez AWS Step Functions comme suit.
Pour vous AWS Step Functions connecter à AWS SCT CLI
-
Ouvrez votre CLI script qui inclut les informations de connexion pour vos fichiers source Apache Oozie.
-
Ajoutez les informations relatives à votre cible de migration dans le AWS SCT projet à l'aide de la
AddTarget
commande. Assurez-vous d'utiliser laSTEP_FUNCTIONS
valeur duvendor
paramètre. Fournissez également des valeurs pour les paramètres obligatoires suivants :name
etprofile
.L'exemple de code suivant est ajouté en AWS Step Functions tant que source dans votre AWS SCT projet. Cet exemple crée un objet cible portant le nom
AWS_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 conditions préalables. Assurez-vous de remplacerprofile_name
avec 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 :
accessKey
secretKey
,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 -
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 de AWS service. Assurez-vous de remplacerprofile_name
avec le nom de votre profil.ConnectTarget -name: 'AWS_STEP_FUNCTIONS' -profile: '
profile_name
' / -
Enregistrez votre CLI script. Ajoutez ensuite des règles de mappage et des commandes de migration. Pour de plus amples informations, veuillez consulter Conversion des flux de travail Oozie ;.