Prepare dados do Amazon EMR para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

Prepare dados do Amazon EMR para machine learning usando o Amazon SageMaker Data Wrangler

A preparação de dados é um componente principal dos pipelines de aprendizado de máquina (ML). Na verdade, estima-se que os profissionais de dados gastem cerca de 80% de seu tempo na preparação de dados. Neste mercado competitivo intensivo, as equipes querem analisar dados e extrair insights mais significativos rapidamente. Os clientes estão adotando formas mais eficientes e visuais de construir sistemas de processamento de dados.

Gerenciador de dados do Amazon SageMaker simplifica a preparação de dados e o processo de engenharia de recursos, reduzindo o tempo que leva de semanas para minutos, fornecendo uma interface visual única para cientistas de dados selecionarem, limparem dados, criarem recursos e automatizarem a preparação de dados em fluxos de trabalho de ML sem escrever nenhum código. Você pode importar dados de várias fontes de dados, como Serviço de armazenamento simples da Amazon (Amazon S3), Amazona atena, Amazon RedShifte floco de neve. Agora você também pode usar Amazon EMR como fonte de dados no Data Wrangler para preparar facilmente os dados para ML.

Analisar, transformar e preparar grandes quantidades de dados é uma etapa fundamental de qualquer fluxo de trabalho de ciência de dados e ML. Profissionais de dados, como cientistas de dados, desejam aproveitar o poder de Apache Spark, Colméia e Presto executado no Amazon EMR para preparação rápida de dados, mas a curva de aprendizado é íngreme. Nossos clientes queriam a capacidade de se conectar ao Amazon EMR para executar consultas SQL ad hoc no Hive ou Presto para consultar dados no metastore interno ou metastore externo (por exemplo, Catálogo de dados do AWS Glue) e preparar dados com alguns cliques.

Este artigo de blog discutirá como os clientes agora podem encontrar e se conectar a clusters Amazon EMR existentes usando uma experiência visual no SageMaker Data Wrangler. Eles podem inspecionar visualmente o banco de dados, tabelas, esquema e consultas do Presto para se preparar para modelagem ou relatório. Eles podem, então, criar perfis de dados rapidamente usando uma interface visual para avaliar a qualidade dos dados, identificar anormalidades ou dados ausentes ou incorretos e receber informações e recomendações sobre como lidar com esses problemas. Além disso, eles podem analisar, limpar e projetar recursos com a ajuda de mais de uma dúzia de análises integradas adicionais e mais de 300 transformações integradas extras apoiadas pelo Spark sem escrever uma única linha de código.

Visão geral da solução 

Os profissionais de dados podem localizar e conectar-se rapidamente a clusters EMR existentes usando as configurações do SageMaker Studio. Além disso, os profissionais de dados podem encerrar clusters EMR com apenas alguns cliques de SageMaker Studio usando modelos predefinidos e criação sob demanda de clusters EMR. Com a ajuda dessas ferramentas, os clientes podem ir direto para o bloco de anotações universal do SageMaker Studio e escrever código no Apache Spark, Hive, Presto ou PySpark para executar a preparação de dados em escala. Devido a uma curva de aprendizado acentuada para criar código Spark para preparar dados, nem todos os profissionais de dados se sentem confortáveis ​​com esse procedimento. Com o Amazon EMR como fonte de dados para o Amazon SageMaker Data Wrangler, agora você pode se conectar de forma rápida e fácil ao Amazon EMR sem escrever uma única linha de código.

O diagrama a seguir representa os diferentes componentes usados ​​nesta solução.

Demonstramos duas opções de autenticação que podem ser usadas para estabelecer uma conexão com o cluster EMR. Para cada opção, implantamos uma pilha exclusiva de Formação da Nuvem AWS templates.

O modelo CloudFormation executa as seguintes ações quando cada opção é selecionada:

  • Cria um Studio Domain no modo somente VPC, juntamente com um perfil de usuário chamado studio-user.
  • Cria blocos de construção, incluindo VPC, endpoints, sub-redes, grupos de segurança, cluster EMR e outros recursos necessários para executar os exemplos com êxito.
  • Para o cluster EMR, conecta o Catálogo de dados do AWS Glue como metastore para EMR Hive e Presto, cria uma tabela Hive no EMR e a preenche com dados de um conjunto de dados do aeroporto dos EUA.
  • Para o modelo LDAP CloudFormation, cria um Amazon Elastic Compute Cloud (Amazon EC2) instância para hospedar o servidor LDAP para autenticar o usuário Hive e Presto LDAP.

Opção 1: protocolo de diretório de acesso leve

Para o modelo CloudFormation de autenticação LDAP, provisionamos uma instância do Amazon EC2 com um servidor LDAP e configuramos o cluster EMR para usar esse servidor para autenticação. Isso é TLS ativado.

Opção 2: sem autenticação

No modelo CloudFormation de autenticação No-Auth, usamos um cluster EMR padrão sem autenticação habilitada.

Implante os recursos com AWS CloudFormation

Conclua as seguintes etapas para implantar o ambiente:

  1. Entre no Console de gerenciamento da AWS como AWS Identity and Access Management (IAM) usuário, de preferência um usuário administrador.
  2. Escolha Pilha de Lançamento para iniciar o modelo CloudFormation para o cenário de autenticação apropriado. Certifique-se de que a região usada para implantar a pilha do CloudFormation não tenha domínio de estúdio existente. Se você já possui um domínio do Studio em uma região, pode escolher uma região diferente.
    • Pilha de inicialização do LDAP
      Prepare dados do Amazon EMR para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.
    • Nenhuma pilha de inicialização de autenticação
      Prepare dados do Amazon EMR para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.
  3. Escolha Próximo.
  4. Escolha Nome da pilha, insira um nome para a pilha (por exemplo, dw-emr-blog).
  5. Deixe os outros valores como padrão.
  6. Para continuar, escolha Próximo na página de detalhes da pilha e opções de pilha. A pilha LDAP usa as seguintes credenciais:
    • nome de usuário: david
    • senha:  welcome123
  7. Na página de revisão, marque a caixa de seleção para confirmar que o AWS CloudFormation pode criar recursos.
  8. Escolha Criar pilha. Aguarde até que o status da pilha mude de CREATE_IN_PROGRESS para CREATE_COMPLETE. O processo geralmente leva de 10 a 15 minutos.

Prepare dados do Amazon EMR para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

Observação: se você quiser tentar várias pilhas, siga as etapas na seção Limpar. Lembre-se que você deve exclua o domínio do SageMaker Studio antes que a próxima pilha possa ser lançada com sucesso.

Configure o Amazon EMR como fonte de dados no Data Wrangler

Nesta seção, abordamos a conexão com o cluster existente do Amazon EMR criado por meio do modelo CloudFormation como uma fonte de dados no Data Wrangler.

Crie um novo fluxo de dados

Para criar seu fluxo de dados, conclua as seguintes etapas:

  1. No console SageMaker, escolha Estúdio Amazon SageMaker no painel de navegação.
  2. Escolha estúdio aberto.
  3. No Iniciador, escolha Novo fluxo de dados. Alternativamente, no Envie o no menu suspenso, escolha Novo e, em seguida, escolha Fluxo do Data Wrangler.
  4. A criação de um novo fluxo pode levar alguns minutos. Após a criação do fluxo, você verá o Datas de importação Disputas de Comerciais.

Prepare dados do Amazon EMR para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

Adicionar Amazon EMR como fonte de dados no Data Wrangler

No menu Adicionar fonte de dados, escolha Amazon EMR.

Prepare dados do Amazon EMR para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

Você pode procurar todos os clusters EMR que sua função de execução do Studio tem permissão para ver. Você tem duas opções para se conectar a um cluster; um é por meio da interface do usuário interativa e o outro é primeiro criar um segredo usando o AWS Secrets Manager com URL JDBC, incluindo informações de cluster EMR e, em seguida, forneça o ARN secreto da AWS armazenado na interface do usuário para se conectar ao Presto. Neste blog, seguimos a primeira opção. Selecione um dos clusters a seguir que deseja usar. Clique em Próximoe selecione endpoints.

Prepare dados do Amazon EMR para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

Selecionar Presto, conectar a Amazon EMR, crie um nome para identificar sua conexão e clique em Avançar.

Prepare dados do Amazon EMR para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

Selecionar Autenticação tipo, LDAP ou sem autenticação e clique em Contato.

  • Para Lightweight Directory Access Protocol (LDAP), forneça o nome de usuário e a senha a serem autenticados.

Prepare dados do Amazon EMR para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

Prepare dados do Amazon EMR para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

  • Para No Authentication, você será conectado ao EMR Presto sem fornecer credenciais de usuário no VPC. Entre na página do SQL Explorer do Data Wrangler para EMR.

Prepare dados do Amazon EMR para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

Uma vez conectado, você pode visualizar interativamente uma árvore de banco de dados e visualização de tabela ou esquema. Você também pode consultar, explorar e visualizar dados do EMR. Para visualização, você veria um limite de 100 registros por padrão. Para consulta personalizada, você pode fornecer instruções SQL na caixa do editor de consulta e depois de clicar no botão Execute botão, a consulta será executada no mecanismo Presto do EMR.

Prepare dados do Amazon EMR para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

A Cancelar consulta O botão permite que as consultas em andamento sejam canceladas se estiverem demorando muito tempo.

O último passo é importar. Quando estiver pronto com os dados consultados, você terá opções para atualizar as configurações de amostragem para a seleção de dados de acordo com o tipo de amostragem (FirstK, Random ou Stratified) e tamanho de amostragem para importar dados para o Data Wrangler.

Clique importação. A página de preparação será carregada, permitindo que você adicione várias transformações e análises essenciais ao conjunto de dados.

Prepare dados do Amazon EMR para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

Navegue até DataFlow na tela superior e adicione mais etapas ao fluxo conforme necessário para transformações e análises. Você pode executar um relatório de insight de dados para identificar problemas de qualidade de dados e obter recomendações para corrigi-los. Vejamos alguns exemplos de transformações.

Vá para o seu fluxo de dados e esta é a tela que você deve ver. Isso nos mostra que estamos usando o EMR como fonte de dados usando o conector Presto.

Prepare dados do Amazon EMR para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

Vamos clicar no botão + à direita de Tipos de dados e selecionar Adicionar transformação. Ao fazer isso, a seguinte tela deve aparecer:

Prepare dados do Amazon EMR para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

Vamos explorar os dados. Vemos que ele tem vários recursos, como código_iata, aeroporto, cidade, estado, país, latitude e longitude. Podemos ver que todo o conjunto de dados é baseado em um país, que é os EUA, e há valores ausentes em Latitude e Longitude. A falta de dados pode causar viés na estimativa de parâmetros e pode reduzir a representatividade das amostras, por isso precisamos realizar algumas imputação e lidar com valores ausentes em nosso conjunto de dados.

Prepare dados do Amazon EMR para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

Vamos clicar no Adicionar Etapa botão na barra de navegação à direita. Selecione Alça faltando. As configurações podem ser vistas nas imagens a seguir. Debaixo Transformar, selecionar Imputar. Selecione o tipo de coluna como Numérico e nomes de coluna Latitude e Longitude. Estaremos imputando os valores ausentes usando um valor mediano aproximado. Visualize e adicione a transformação.

Prepare dados do Amazon EMR para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

Prepare dados do Amazon EMR para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

Vejamos agora outro exemplo de transformação. Ao criar um modelo de aprendizado de máquina, as colunas são removidas se forem redundantes ou não ajudarem seu modelo. A maneira mais comum de remover uma coluna é soltá-la. Em nosso conjunto de dados, o recurso país podem ser descartados, pois o conjunto de dados é especificamente para dados de aeroportos dos EUA. Vamos ver como podemos gerenciar colunas. Vamos clicar no Adicionar etapa botão na barra de navegação à direita. Selecione Gerenciar colunas. As configurações podem ser vistas nas imagens a seguir. Debaixo Transformar, selecione Coluna de queda, e abaixo Colunas para soltar, selecione País.

Prepare dados do Amazon EMR para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai. Prepare dados do Amazon EMR para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

Você pode continuar adicionando etapas com base nas diferentes transformações necessárias para seu conjunto de dados. Voltemos ao nosso fluxo de dados. Agora você verá mais dois blocos mostrando as transformações que realizamos. Em nosso cenário, você pode ver Imputar e Coluna de queda.

Prepare dados do Amazon EMR para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

Os profissionais de ML gastam muito tempo criando código de engenharia de recursos, aplicando-o a seus conjuntos de dados iniciais, treinando modelos nos conjuntos de dados projetados e avaliando a precisão do modelo. Dada a natureza experimental deste trabalho, mesmo o menor projeto levará a várias iterações. O mesmo código de engenharia de recursos geralmente é executado repetidas vezes, desperdiçando tempo e recursos computacionais ao repetir as mesmas operações. Em grandes organizações, isso pode causar uma perda ainda maior de produtividade porque equipes diferentes geralmente executam trabalhos idênticos ou até mesmo escrevem códigos de engenharia de recursos duplicados porque não têm conhecimento do trabalho anterior. Para evitar o reprocessamento de feições, agora iremos exportar nossas feições transformadas para Loja de recursos da Amazon. Vamos clicar no + botão à direita de Coluna de queda. Selecionar Exportar para e escolha Sagemaker Feature Store (via notebook Jupyter).

Prepare dados do Amazon EMR para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

Você pode exportar facilmente seus recursos gerados para Loja de artigos SageMaker selecionando-o como destino. Você pode salvar os recursos em um grupo de recursos existente ou criar um novo.

Prepare dados do Amazon EMR para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

Prepare dados do Amazon EMR para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

Agora criamos recursos com o Data Wrangler e armazenamos facilmente esses recursos no Feature Store. Mostramos um exemplo de fluxo de trabalho para engenharia de recursos na IU do Data Wrangler. Em seguida, salvamos esses recursos no Feature Store diretamente do Data Wrangler criando um novo grupo de recursos. Por fim, executamos um trabalho de processamento para inserir esses recursos no Feature Store. O Data Wrangler e o Feature Store juntos nos ajudaram a criar processos automáticos e repetíveis para simplificar nossas tarefas de preparação de dados com o mínimo de codificação necessária. O Data Wrangler também nos fornece flexibilidade para automatizar o mesmo fluxo de preparação de dados usando trabalhos agendados. Também podemos automatizar o treinamento ou a engenharia de recursos com SageMaker Pipelines (via Jupyter Notebook) e implantar no endpoint de inferência com o pipeline de inferência SageMaker (via Jupyter Notebook).

Prepare dados do Amazon EMR para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

limpar

Se o seu trabalho com o Data Wrangler estiver concluído, selecione a pilha criada na página do CloudFormation e exclua-a para evitar incorrer em taxas adicionais.

Conclusão

Nesta postagem, examinamos como configurar o Amazon EMR como fonte de dados no Data Wrangler, como transformar e analisar um conjunto de dados e como exportar os resultados para um fluxo de dados para uso em um notebook Jupyter. Depois de visualizar nosso conjunto de dados usando os recursos analíticos integrados do Data Wrangler, aprimoramos ainda mais nosso fluxo de dados. O fato de termos criado um pipeline de preparação de dados sem escrever uma única linha de código é significativo.

Para começar a usar o Data Wrangler, consulte Prepare dados de ML com o Amazon SageMaker Data Wrangler, e veja as informações mais recentes sobre o Página de produto do Data Wrangler.


Sobre os autores

Prepare dados do Amazon EMR para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai. Ajjay Govindaram é Arquiteto de Soluções Sênior na AWS. Ele trabalha com clientes estratégicos que usam AI/ML para resolver problemas complexos de negócios. Sua experiência está em fornecer orientação técnica e assistência de design para implantações de aplicativos de IA/ML de modesta a grande escala. Seu conhecimento varia de arquitetura de aplicativos a big data, análise e aprendizado de máquina. Ele gosta de ouvir música enquanto descansa, experimenta o ar livre e passa tempo com seus entes queridos.

Prepare dados do Amazon EMR para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.Isha Dua é Arquiteto de Soluções Sênior baseado na área da Baía de São Francisco. Ela ajuda os clientes corporativos da AWS a crescer ao entender seus objetivos e desafios e os orienta sobre como eles podem arquitetar seus aplicativos de maneira nativa da nuvem, certificando-se de que sejam resilientes e escaláveis. Ela é apaixonada por tecnologias de aprendizado de máquina e sustentabilidade ambiental.

Prepare dados do Amazon EMR para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.Rui Jiang é um engenheiro de desenvolvimento de software da AWS baseado na área da cidade de Nova York. Ela é membro da equipe do SageMaker Data Wrangler, ajudando a desenvolver soluções de engenharia para clientes corporativos da AWS a fim de atender às suas necessidades de negócios. Fora do trabalho, ela gosta de explorar novos alimentos, fitness, atividades ao ar livre e viajar.

Carimbo de hora:

Mais de Aprendizado de máquina da AWS