Connessione ai flussi di lavoro di Apache Oozie con AWS Schema Conversion Tool - AWS Schema Conversion Tool

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Connessione ai flussi di lavoro di Apache Oozie con AWS Schema Conversion Tool

È possibile utilizzare l'interfaccia a riga di AWS SCT comando (CLI) per convertire i flussi di lavoro di Apache Oozie in. AWS Step Functions Dopo aver migrato i carichi di lavoro Apache Hadoop su AmazonEMR, puoi utilizzare un servizio nativo per orchestrare i Cloud AWS tuoi lavori. Per ulteriori informazioni, consulta Connessione ad Apache Hadoop.

AWS SCT converte i flussi di lavoro di Oozie e li utilizza per AWS Step Functions emulare funzionalità che non supporta. AWS Lambda AWS Step Functions Inoltre, AWS SCT converte le proprietà del lavoro di Oozie in. AWS Systems Manager

Per convertire i flussi di lavoro di Apache Oozie, assicurati di utilizzare AWS SCT la versione 1.0.671 o successiva. Inoltre, acquisisci familiarità con l'interfaccia a riga di comando di. AWS SCT Per ulteriori informazioni, consulta CLIRiferimento per AWS Schema Conversion Tool.

Prerequisiti per l'utilizzo di Apache Oozie come sorgente

I seguenti prerequisiti sono necessari per connettersi ad Apache Oozie con. AWS SCT CLI

  • Crea un bucket Amazon S3 per archiviare le definizioni delle macchine a stati. Puoi usare queste definizioni per configurare le tue macchine a stati. Per ulteriori informazioni, consulta Creare un bucket nella Guida per l'utente di Amazon S3.

  • Crea un ruolo AWS Identity and Access Management (IAM) con la AmazonS3FullAccess policy. AWS SCT utilizza questo IAM ruolo per accedere al tuo bucket Amazon S3.

  • Prendi nota della tua chiave AWS segreta e della chiave di accesso AWS segreta. Per ulteriori informazioni sulle chiavi di AWS accesso, consulta la sezione Gestione delle chiavi di accesso nella Guida IAM per l'utente.

  • Archivia AWS le tue credenziali e le informazioni sul tuo bucket Amazon S3 nel profilo AWS del servizio nelle impostazioni globali dell'applicazione. Quindi, AWS SCT utilizza questo profilo di AWS servizio per lavorare con le tue risorse. AWS Per ulteriori informazioni, consulta Gestione dei profili in AWS Schema Conversion Tool.

Per lavorare con i flussi di lavoro di Apache Oozie di origine, è AWS SCT necessaria la struttura specifica dei file sorgente. Ciascuna cartella dell'applicazione deve includere il file. job.properties Questo file include coppie chiave-valore delle proprietà del lavoro. Inoltre, ogni cartella dell'applicazione deve includere il workflow.xml file. Questo file descrive i nodi di azione e i nodi di flusso di controllo del flusso di lavoro.

Connessione ad Apache Oozie come sorgente

Usa la seguente procedura per connetterti ai tuoi file sorgente di Apache Oozie.

Per connettersi ad Apache Oozie in AWS SCT CLI
  1. Crea un nuovo AWS SCT CLI script o modifica un modello di scenario esistente. Ad esempio, puoi scaricare e modificare il OozieConversionTemplate.scts modello. Per ulteriori informazioni, consulta Ottenere CLI scenari.

  2. Configura le impostazioni AWS SCT dell'applicazione.

    Il seguente esempio di codice salva le impostazioni dell'applicazione e consente di memorizzare le password nel progetto. È possibile utilizzare queste impostazioni salvate in altri progetti.

    SetGlobalSettings -save: 'true' -settings: '{ "store_password": "true" }' /
  3. Crea un nuovo AWS SCT progetto.

    Il seguente esempio di codice crea il oozie progetto nella c:\sct cartella.

    CreateProject -name: 'oozie' -directory: 'c:\sct' /
  4. Aggiungi la cartella con i file sorgente di Apache Oozie al progetto usando il AddSource comando. Assicurati di utilizzare il APACHE_OOZIE valore per il vendor parametro. Fornite inoltre i valori per i seguenti parametri obbligatori: name emappingsFolder.

    Il seguente esempio di codice aggiunge Apache Oozie come sorgente nel AWS SCT progetto. Questo esempio crea un oggetto sorgente con il nome. OOZIE Utilizzate questo nome di oggetto per aggiungere regole di mappatura. Dopo aver eseguito questo esempio di codice, AWS SCT utilizza la c:\oozie cartella per caricare i file sorgente nel progetto.

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

    È possibile utilizzare questo esempio e gli esempi seguenti in Windows.

  5. Connect ai file di origine di Apache Oozie utilizzando il ConnectSource comando. Usa il nome dell'oggetto sorgente che hai definito nel passaggio precedente.

    ConnectSource -name: 'OOZIE' -mappingsFolder: 'c:\oozie' /
  6. Salva lo CLI script. Quindi, aggiungi le informazioni di connessione per il tuo AWS Step Functions servizio.

Autorizzazioni per l'utilizzo AWS Lambda delle funzioni nel pacchetto di estensione

Per le funzioni di origine che AWS Step Functions non sono supportate, AWS SCT crea un pacchetto di estensione. Questo pacchetto di estensione include AWS Lambda funzioni che emulano le funzioni di origine.

Per utilizzare questo pacchetto di estensione, create un ruolo AWS Identity and Access Management (IAM) con le seguenti autorizzazioni.

{ "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:::*/*" ] } ] }

Per applicare il pacchetto di estensione, è AWS SCT necessario un IAM ruolo con le seguenti autorizzazioni.

{ "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" ] } ] }

Connessione a AWS Step Functions come destinazione

Utilizza la seguente procedura per connetterti AWS Step Functions come destinazione.

A cui connettersi AWS Step Functions in AWS SCT CLI
  1. Apri CLI lo script che include le informazioni di connessione per i tuoi file sorgente di Apache Oozie.

  2. Aggiungi le informazioni sul tuo obiettivo di migrazione nel AWS SCT progetto usando il AddTarget comando. Assicurati di utilizzare il STEP_FUNCTIONS valore per il vendor parametro. Fornite inoltre i valori per i seguenti parametri obbligatori: name eprofile.

    Il seguente esempio di codice aggiunge AWS Step Functions come sorgente nel AWS SCT progetto. Questo esempio crea un oggetto di destinazione con il nomeAWS_STEP_FUNCTIONS. Utilizzate questo nome di oggetto quando create regole di mappatura. Inoltre, questo esempio utilizza un profilo di AWS SCT servizio creato nella fase dei prerequisiti. Assicurati di sostituirlo profile_name con il nome del tuo profilo.

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

    Se non utilizzi il profilo del AWS servizio, assicurati di fornire i valori per i seguenti parametri obbligatori: accessKeysecretKey,awsRegion, es3Path. Utilizza questi parametri per specificare la chiave di accesso AWS AWS segreta Regione AWS, la chiave segreta e il percorso del bucket Amazon S3.

  3. Connect a AWS Step Functions usando il ConnectTarget comando. Utilizzate il nome dell'oggetto di destinazione definito nel passaggio precedente.

    Il seguente esempio di codice si connette all'oggetto di AWS_STEP_FUNCTIONS destinazione utilizzando il profilo del AWS servizio. Assicuratevi di sostituire profile_name con il nome del tuo profilo.

    ConnectTarget -name: 'AWS_STEP_FUNCTIONS' -profile: 'profile_name' /
  4. Salva il tuo CLI script. Quindi, aggiungi le regole di mappatura e i comandi di migrazione. Per ulteriori informazioni, consulta Conversione dei flussi di lavoro Oozie;.