Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Como se conectar a fluxos de trabalho do Apache Oozie com o AWS Schema Conversion Tool

Modo de foco
Como se conectar a fluxos de trabalho do Apache Oozie com o AWS Schema Conversion Tool - AWS Schema Conversion Tool

É possível usar a interface de linha de comandos (CLI) da AWS SCT para converter fluxos de trabalho do Apache Oozie para AWS Step Functions. Depois de migrar seus workloads do Apache Hadoop para o Amazon EMR, você pode usar um serviço nativo na Nuvem AWS para orquestrar seus trabalhos. Para ter mais informações, consulte Como se conectar ao Apache Hadoop.

A AWS SCT converte seus fluxos de trabalho do Oozie para AWS Step Functions e usa AWS Lambda para emular recursos que AWS Step Functions não oferece suporte. Além disso, a AWS SCT converte suas propriedades de trabalho do Oozie em AWS Systems Manager.

Para converter fluxos de trabalho do Apache Oozie, certifique-se de usar a versão 1.0.671 ou superior da AWS SCT. Além disso, familiarize-se com a interface de linha de comandos da AWS SCT. Para ter mais informações, consulte Referência da CLI do AWS Schema Conversion Tool.

Pré-requisitos de uso do Apache Oozie como origem

Os pré-requisitos a seguir são necessários para se conectar ao Apache Oozie com a CLI da AWS SCT.

  • Crie um bucket do Amazon S3 para armazenar as definições das máquinas de estado. Você pode usar essas definições para configurar suas máquinas de estado. Para obter mais informações, consulte Como criar um bucket no Guia do usuário do Amazon S3.

  • Crie um perfil (IAM) AWS Identity and Access Management com a política de AmazonS3FullAccess. A AWS SCT usa esse perfil do IAM para acessar o bucket do Amazon S3.

  • Anote sua chave AWS secreta e sua chave de acesso AWS secreta. Para obter mais informações sobre as chaves de acesso da AWS, consulte Como gerenciar chaves de acesso no Guia de usuário do IAM.

  • Armazene suas credenciais AWS e as informações sobre seu bucket do Amazon S3 no perfil de serviço AWS nas configurações globais do aplicativo. Em seguida, a AWS SCT usa esse perfil de serviço AWS para trabalhar com seus recursos AWS. Para ter mais informações, consulte Gerenciando perfis no AWS Schema Conversion Tool.

Para trabalhar com seus fluxos de trabalho do Apache Oozie de origem, a AWS SCT precisa de estrutura específica dos seus arquivos de origem. Cada uma das pastas do aplicativo deve incluir o arquivo job.properties. Esse arquivo inclui pares de valores-chave das propriedades do seu trabalho. Além disso, cada uma das pastas do aplicativo deve incluir o arquivo workflow.xml. Esse arquivo descreve os nós de ação e os nós de fluxo de controle do seu fluxo de trabalho.

Como se conectar ao Apache Oozie como origem

Use o procedimento a seguir para se conectar aos seus arquivos do Apache Oozie de origem.

Para se conectar ao Apache Oozie na CLI da AWS SCT.
  1. Crie um novo script de CLI da AWS SCT ou edite um modelo de cenário existente. Por exemplo, é possível baixar e editar o modelo OozieConversionTemplate.scts. Para ter mais informações, consulte Obter cenários de CLI.

  2. Defina as configurações do aplicativo da AWS SCT.

    O exemplo de código a seguir salva as configurações do aplicativo e permite armazenar senhas em seu projeto. Você pode usar essas configurações salvas em outros projetos.

    SetGlobalSettings -save: 'true' -settings: '{ "store_password": "true" }' /
  3. Criar um novo projeto da AWS SCT.

    O exemplo de código a seguir cria o projeto da oozie na pasta c:\sct.

    CreateProject -name: 'oozie' -directory: 'c:\sct' /
  4. Adicione a pasta com seus arquivos Apache Oozie de origem ao projeto usando o comando AddSource. Certifique-se de usar o valor APACHE_OOZIE para o parâmetro vendor. Forneça também valores para os seguintes parâmetros necessários: name e mappingsFolder.

    O exemplo de código a seguir adiciona o Apache Oozie como origem em seu projeto AWS SCT. Este exemplo cria um objeto de origem com o nome OOZIE. Use esse nome de objeto para adicionar regras de mapeamento. Depois de executar esse exemplo de código, a AWS SCT usa a pasta c:\oozie para carregar seus arquivos de origem no projeto.

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

    Você pode usar esse exemplo e os exemplos a seguir no Windows.

  5. Conecte-se aos arquivos do Apache Oozie de origem usando o comando ConnectSource. Use o nome do objeto de origem que você definiu na etapa anterior.

    ConnectSource -name: 'OOZIE' -mappingsFolder: 'c:\oozie' /
  6. Salve o script da CLI. Em seguida, adicione as informações de conexão do seu serviço AWS Step Functions.

Permissões para usar funções AWS Lambda no pacote de extensões

Para as funções de origem que a AWS Step Functions não oferece suporte, a AWS SCT cria um pacote de extensão. Esse pacote de extensão inclui funções da AWS Lambda que emulam suas funções de origem.

Para usar esse pacote de extensão, crie um perfil (IAM) da AWS Identity and Access Management com as seguintes permissões.

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

Para aplicar o pacote de extensão, a AWS SCT precisa de um perfil do IAM com as permissões a seguir.

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

Como se conectar a AWS Step Functions como destino

Use o procedimento a seguir para se conectar à AWS Step Functions como destino.

Para se conectar à AWS Step Functions na CLI da AWS SCT
  1. Abra seu script de CLI, que inclui as informações de conexão para seus arquivos do Apache Oozie de origem.

  2. Adicione as informações sobre sua meta de migração no projeto AWS SCT usando o comando AddTarget. Certifique-se de usar o valor STEP_FUNCTIONS para o parâmetro vendor. Forneça também valores para os seguintes parâmetros necessários: name e profile.

    O exemplo de código a seguir adiciona AWS Step Functions como origem em seu projeto AWS SCT. Este exemplo cria um objeto de destino com o nome AWS_STEP_FUNCTIONS. Use esse nome de objeto ao criar regras de mapeamento. Além disso, esse exemplo usa um perfil de serviço AWS SCT que você criou na etapa de pré-requisitos. Certifique-se de substituir profile_name pelo nome do seu perfil.

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

    Se você não usar o perfil de serviço AWS, certifique-se de fornecer valores para os seguintes parâmetros obrigatórios: accessKey, secretKey, awsRegion e s3Path. Use esses parâmetros para especificar sua chave de acesso secreta AWS, chave secreta AWS, Região da AWS e o caminho para seu bucket do Amazon S3.

  3. Conecte-se a AWS Step Functions usando o comando ConnectTarget. Use o nome do objeto de destino que você definiu na etapa anterior.

    O exemplo de código a seguir se conecta ao objeto de destino AWS_STEP_FUNCTIONS usando seu perfil de serviço AWS. Certifique-se de substituir profile_name pelo nome do seu perfil.

    ConnectTarget -name: 'AWS_STEP_FUNCTIONS' -profile: 'profile_name' /
  4. Salve o script da CLI. Em seguida, adicione regras de mapeamento e comandos de migração. Para obter mais informações, consulte Conversão de fluxos de trabalho do Oozie;.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.