Big Data na AWS - solução inteligente para Big Data



Este artigo ajuda você a entender como a AWS lida de maneira inteligente com Big Data. Também mostra como a AWS pode resolver desafios de Big Data com facilidade.

A ideia de Big Data simplesmente não é nova, está em toda parte. O efeito do Big Data está em toda parte, dos negócios à ciência, do governo às artes e assim por diante. Não há melhor companheiro do que para processar e analisar Big Data. Neste artigo, vou mostrar como a AWS lida com os desafios do Big Data e as dicas que vou cobrir são as seguintes:

O que é Big Data?

características de big data





Você pode considerar Big data como ativos de informação de alto volume, alta velocidade e / ou alta variedade que exigem formas inovadoras e econômicas de processamento de informações que permitem uma visão aprimorada, tomada de decisões e automação de processos.

Big Data é composto por 5 Vs importantes que definem as características do Big Data. Vamos discutir esses antes de mudar para a AWS.



O que é AWS?

compreende muitos produtos e serviços de computação em nuvem diferentes. A divisão altamente lucrativa da Amazon fornece servidores, armazenamento, rede, computação remota, e-mail, desenvolvimento móvel junto com segurança. Além disso. O AWS consiste em dois produtos principais: EC2, serviço de máquina virtual da Amazon, e S3, um sistema de armazenamento da Amazon. É tão grande e presente no mundo da computação que agora tem pelo menos 10 vezes o tamanho de seu concorrente mais próximo e hospeda sites populares como Netflix e Instagram.

alternar caso em programas de exemplo java

.

A AWS é dividida em 12 regiões globais em todo o mundo, cada uma com várias zonas de disponibilidade nas quais seus servidores estão localizados.Essas regiões atendidas são divididas a fim de permitir que os usuários definam limites geográficos em seus serviços, mas também para fornecer segurança, diversificando os locais físicos nos quais os dados são mantidos.



Por que Big Data na AWS?

Cientistas, desenvolvedores e outros entusiastas de tecnologia de muitos domínios diferentes estão aproveitando a AWS para realizar análises de big data e enfrentar os desafios críticos do crescente Vs de informações digitais. A AWS oferece um portfólio de serviços de computação em nuvem para ajudar a gerenciar big data, reduzindo significativamente os custos, dimensionando para atender à demanda e aumentando a velocidade da inovação.

Amazon Web Services fornece um portfólio totalmente integrado de serviços de computação em nuvem. Além disso, ajuda a construir, proteger e implantar seus aplicativos de big data. Além disso, com a AWS, você não precisa de hardware para adquirir e infraestrutura para manter e escalar. Devido a isso, você pode concentrar seus recursos na descoberta de novos insights.Como novos recursos são adicionados constantemente, você sempre poderá aproveitar as tecnologias mais recentes sem a necessidade de fazer compromissos de investimento de longo prazo.

Como a AWS pode resolver os desafios de Big Data?

Soluções AWS para Big Data

A AWS tem várias soluções para todos os fins de desenvolvimento e implantação. Além disso, no campo de Ciência de Dados e Big Data, a AWS apresentou desenvolvimentos recentes em diferentes aspectos do manuseio de Big Data. Antes de pular para as ferramentas, vamos entender os diferentes aspectos do Big Data para os quais a AWS pode fornecer soluções.

  1. Ingestão de Dados
    Coletar os dados brutos - transações, logs, dispositivos móveis e muito mais - é o primeiro desafio que muitas organizações enfrentam ao lidar com big data. Uma boa plataforma de big data torna essa etapa mais fácil, permitindo que os desenvolvedores ingeram uma ampla variedade de dados - de estruturados a não estruturados - em qualquer velocidade - de tempo real a lote.

  2. Armazenamento de Dados
    Qualquer plataforma de big data precisa de um repositório seguro, escalonável e durável para armazenar dados antes ou mesmo depois das tarefas de processamento. Dependendo de seus requisitos específicos, você também pode precisar de armazenamentos temporários para dados em trânsito.

  3. Processamento de dados
    Esta é a etapa em que a transformação dos dados acontece de seu estado bruto para um formato consumível - geralmente por meio de classificação, agregação, junção e até mesmo executando funções e algoritmos mais avançados. Os conjuntos de dados resultantes são armazenados para processamento posterior ou disponibilizados para consumo por meio de ferramentas de business intelligence e visualização de dados.

  4. Visualização

    Big data tem tudo a ver com obter insights de alto valor e acionáveis ​​de seus ativos de dados. Idealmente, os dados estão disponíveis para as partes interessadas por meio de business intelligence de autoatendimento e ferramentas de visualização de dados ágeis que permitem a exploração rápida e fácil de conjuntos de dados.

Ferramentas AWS para Big Data

Nas seções anteriores, vimos os campos em Big Data onde a AWS pode fornecer soluções. Além disso, a AWS tem várias ferramentas e serviços em seu arsenal para habilitar os clientes com os recursos de Big Data.

Vejamos as várias soluções fornecidas pela AWS para lidar com os diferentes estágios envolvidos no tratamento de Big Data

Ingestão

  1. Kinesis

    Amazon Kinesis Firehose é um serviço totalmente gerenciado para fornecer dados de streaming em tempo real diretamente para o Amazon S3. O Kinesis Firehose é dimensionado automaticamente para corresponder ao volume e à taxa de transferência de dados de streaming e não requer administração contínua. Você pode configurar o Kinesis Firehose para transformar os dados de streaming antes de armazená-los no Amazon S3.

  2. Bola de neve
    Você pode usar AWS Snowball para migrar com segurança e eficiência os dados em massa de plataformas de armazenamento local e clusters Hadoop para buckets S3. Depois de criar um trabalho no AWS Management Console, você obtém automaticamente um dispositivo Snowball. Depois que um Snowball chegar, conecte-o à sua rede local, instale o cliente Snowball em sua fonte de dados local e use o cliente Snowball para selecionar e transferir os diretórios de arquivo para o dispositivo Snowball.

Armazenamento

  1. Amazon S3

Amazon S3 é um armazenamento de objetos seguro, altamente escalonável e durável com latência de milissegundos para acesso aos dados. O S3 pode armazenar qualquer tipo de dados de qualquer lugar - sites e aplicativos móveis, aplicativos corporativos e dados de sensores ou dispositivos IoT. Ele também pode armazenar e recuperar qualquer quantidade de dados, com disponibilidade incomparável, e construído desde o início para fornecer 99,999999999% (11 noves) de durabilidade.

2. AWS Glue

O Glue é um serviço totalmente gerenciado que fornece um catálogo de dados para tornar os dados no data lake detectáveis. Além disso, ele tem a capacidade de extrair, transformar e carregar (ETL) para preparar dados para análise. Além disso, o catálogo de dados embutido é como um armazenamento de metadados persistente para todos os ativos de dados, tornando todos os dados pesquisáveis ​​e consultáveis ​​em uma única exibição.

Em processamento

  1. EMR
    Para processamento de big data usando Spark e Hadoop, Amazon EMR fornece um serviço gerenciado que torna mais fácil, rápido e econômico processar grandes quantidades de dados. Além disso, o EMR oferece suporte a 19 projetos de código aberto diferentes, incluindo Hadoop , Faísca , e Também vem com notebooks EMR gerenciados para engenharia de dados, desenvolvimento de ciência de dados e colaboração.

  2. Redshift
    Para armazenamento de dados, Amazonas O Redshift oferece a capacidade de executar consultas analíticas complexas em petabytes de dados estruturados. Além disso, inclui Redshift Spectrum que executa consultas SQL diretamente em exabytes de dados estruturados ou não estruturados no S3, sem a necessidade de movimentação desnecessária de dados.

Visualizações

  1. Amazon QuickSight

    Para painéis e visualizações, o Amazon Quicksight oferece um serviço de análise de negócios rápido e baseado em nuvem. Facilita a construção de visualizações impressionantes e painéis avançados. Além disso, você pode acessá-los de qualquer navegador ou dispositivo móvel.

Demonstração - Analisando dados de espécies de plantas e animais ameaçadas de extinção na Austrália.

Nesta demonstração, usaremos dados de amostra de espécies de plantas e animais ameaçadas de extinção nos estados e territórios da Austrália. Aqui, vamos criar um cluster EMR e configurá-lo para executar tarefas do Apache Hive de várias etapas. O cluster EMR terá o Apache Hive instalado nele. Este cluster usará EMRFS como o sistema de arquivos, de forma que seus locais de entrada e saída de dados sejam mapeados para um depósito S3. O cluster também usará o mesmo bucket S3 para armazenar arquivos de log.

Agora, criaremos várias etapas de EMR no cluster para processar um conjunto de dados de amostra. Aqui, cada uma dessas etapas executará um script Hive e a saída final será salva no depósito S3. Essas etapas gerarão logs MapReduce e isso ocorre porque os comandos do Hive são convertidos em tarefas MapReduce no tempo de execução. Os arquivos de log de cada etapa são agregados a partir dos contêineres gerados.

Dados de amostra

O conjunto de dados de amostra para este caso de uso está disponível publicamente no Site de dados abertos do governo australiano . Este conjunto de dados é sobre espécies de animais e plantas ameaçadas de diferentes estados e territórios na Austrália. Uma descrição dos campos deste conjunto de dados e o arquivo CSV podem ser vistos e baixados Aqui .

Etapas de processamento

A primeira etapa do trabalho de EMR aqui envolve a criação de uma tabela Hive como um esquema para o arquivo de origem subjacente no S3. Na segunda etapa do trabalho, agora executaremos uma consulta bem-sucedida nos dados. Da mesma forma, executaremos uma terceira e uma quarta consulta.

Repetiremos essas quatro etapas algumas vezes em uma hora, simulando execuções sucessivas de uma tarefa em lote de várias etapas. No entanto, em um cenário da vida real, a diferença de tempo entre cada lote executado normalmente pode ser muito maior. O pequeno intervalo de tempo entre execuções sucessivas tem como objetivo acelerar nossos testes.

Balde e pastas S3

Antes de criar nosso cluster EMR, aqui tivemos que criar um balde S3 para hospedar seus arquivos. Em nosso exemplo, chamamos esse intervalo de “arvind1-bucket”. As pastas desse intervalo são mostradas abaixo no AWS Console para S3:

quais são as restrições em sql

  • A pasta de entrada contém os dados de amostra

  • A pasta de scripts contém os arquivos de script do Hive para as etapas do trabalho EMR

  • A pasta de saída obviamente conterá a saída do programa Hive

  • O cluster EMR usa a pasta de logs para salvar seus arquivos de log.

Scripts do Hive para etapas do trabalho EMR

1. Esta etapa de trabalho executa um script Hivepara criar uma tabela Hive externa. Esta tabela descreve o esquema tabular do arquivo de dados CSV subjacente. O script para isso é o seguinte:

CRIAR TABELA EXTERNA `ameaças_específicas` (string` nome científico`, string `nome comum`, string` nome científico atual`, string `estado ameaçado`, string` act`, string `nsw`, string` nt`, `qld` string, string `sa`, string` tas`, string `vic`, string` wa`, string `aci`, string` cki`, string `ci`, string` csi`, string `jbt`,` nfi` string, string `hmi`, string` aat`, string `cma`, bigint` listado sprat taxonid`, bigint `current sprat taxonid`, string` kingdom`, string `class`, string` profile`, `data extraída` string, string `nsl name`, string` family`, string `genus`, string` species`, string `infraspecific rank`, string` infraspecies`, string `species author`, string` infrespecies author`) CAMPOS DELIMITADOS DE FORMATO DE LINHA TERMINATED BY ',' STORED AS INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION 's3: // arvind1-bucket / script /'

2. Esta etapa do trabalho executa uma consulta para calcular as cinco principais espécies ameaçadas de extinção no estado de New South Wales (NSW). O nome do arquivo de consulta do Hive é endangeredSpeciesNSW.q e é mostrado abaixo:

SELECIONE espécies, COUNT (nsw) AS number_of_endangered_species FROM ameaçado_species WHERE (nsw = 'Sim' OU nsw = 'Em perigo') E 'status ameaçado' = 'Em perigo' GRUPO POR espécie HAVING COUNT (nsw)> 1 ORDEM POR number_of_endangered_species LIMITE DE DESC 5

3 -Esta etapa do trabalho executa uma consulta para calcular o número total de espécies de plantas ameaçadas de extinção para cada família de plantas na Austrália. O nome do arquivo de consulta do Hive éendangeredPlantSpecies.qe é mostrado abaixo

SELECT família, COUNT (espécie) AS number_of_endangered_species FROM ameaçado_espécies2 WHERE reino = 'Plantae' AND 'status ameaçado' = 'Em perigo' GROUP BY família

4. Esta etapa lista os nomes científicos de espécies animais extintas no estado de Queensland, na Austrália. O arquivo de script é chamado extinctAnimalsQLD.q e é mostrado abaixo:

SELECIONE 'nome comum', 'nome científico' de espécies_ameaçadas WHERE reino = 'Animalia' AND (qld = 'Sim' OU qld = 'Extinto') AND 'status de ameaça' = 'Extinto'

Agregação de Log

Aqui também carregamos um arquivo JSON chamado logAggregation.json na pasta de scripts do intervalo S3. Usamos esse arquivo para agregar os arquivos de log do YARN. A agregação de log é configurada no arquivo de configuração yarn-site.xml quando o cluster é inicializado. O conteúdo do arquivo logAggregation.json é o seguinte:

[{“Classificação”: “yarn-site”, “Propriedades”: {“yarn.log-aggregation-enable”: “true”, “yarn.log-aggregation.retain-seconds”: “-1”, “yarn .nodemanager.remote-app-log-dir ”:“ s3: // arvind1-bucket / logs ”}}]

Depois de criar o bucket S3 e copiar os arquivos de dados e script para suas respectivas pastas, agora é hora de configurar um cluster EMR. Os instantâneos a seguir descrevem o processo conforme criamos o cluster com a maioria das configurações padrão.

Configuração de cluster EMR

Na primeira imagem, para configurar o cluster no console da AWS, mantivemos todos os aplicativos recomendados pelo EMR, incluindo o Hive. Não precisamos usar o AWS Glue para armazenar metadados do Hive, nem estamos adicionando nenhuma etapa de trabalho neste momento. No entanto, precisamos adicionar uma configuração de software para o Hive. Aqui, você deve observar cuidadosamente como estamos especificando o caminho para o arquivo JSON de agregação de log neste campo.

Na próxima etapa, mantivemos todas as configurações padrão. Para fins de nosso teste, o cluster terá um nó mestre e dois nós principais. Cada nó aqui é uma instância m3.xlarge e tem um volume raiz de 10 GB. Estamos nomeando o cluster arvind1-cluster na próxima etapa e especificando o local s3 personalizado para seus arquivos de log.

como usar arquivos em java

Finalmente, especificamos um par de chaves EC2 com a finalidade de acessar o nó mestre do cluster. Não há mudança nas funções padrão do IAM para EMR, perfil de instância EC2 e opções de escala automática. Além disso, os nós principal e principal estão usando, por padrão, grupos de segurança disponíveis. Normalmente, esta é uma configuração padrão para um cluster EMR. Assim que tudo estiver pronto, o cluster está em um status de 'espera', conforme mostrado abaixo:

Enviar etapas do trabalho Hive

Depois disso, precisamos permitir o acesso SSH.

  1. Abra o console Amazon EMR em https://console.aws.amazon.com/elasticmapreduce/ .
  2. Escolher Clusters .
  3. Escolha o Nome do cluster.
  4. Sob Segurança e acesso escolha o Grupos de segurança para Mestre ligação.
  5. Escolher ElasticMapReduce-master da lista.
  6. Escolher De entrada , Editar .
  7. Encontre a regra com as seguintes configurações e escolha o x ícone para excluí-lo:
    • Tipo SSH
    • Porta 22
    • Fonte 0.0.0.0/0 personalizado
  8. Role até o final da lista de regras e escolha Adicionar regra .
  9. Para Tipo , selecione SSH . Isso entra automaticamente TCP para Protocolo e 22 para Faixa Portuária .
  10. Para fonte, selecione Meu IP .Isso adiciona automaticamente o endereço IP do seu computador cliente como o endereço de origem. Como alternativa, você pode adicionar um intervalo de personalizadas endereços IP de clientes confiáveis ​​e escolha adicione a regra para criar regras adicionais para outros clientes. Em muitos ambientes de rede, você aloca endereços IP dinamicamente, portanto, pode ser necessário editar periodicamente as regras do grupo de segurança para atualizar o endereço IP de clientes confiáveis.
  11. Escolher Salve  .
  12. Opcionalmente, escolha ElasticMapReduce-slave da lista e repita as etapas acima para permitir que o cliente SSH acesse os nós principais e de tarefa de clientes confiáveis.

Como o cluster EMR está instalado e funcionando, adicionamos quatro etapas de trabalho. Estas são as etapas que o EMR executaria uma após a outra. A imagem a seguir mostra as etapas do console AWS EMR:

Depois de adicionar as quatro etapas, podemos verificar o status dessas etapas como concluídas. Mesmo que haja algum problema com a execução dessas etapas, então, em tais casos, ele pode ser resolvido usando os arquivos de log dessas etapas.

Então é isso do meu lado neste artigo sobre Big Data na AWS. Espero que você tenha entendido tudo o que expliquei aqui.

Se você achou este Big Data relevante na AWS, pode conferir o curso ao vivo e ministrado por instrutor de Edureka em , co-criado por profissionais da indústria.

Tem alguma questão para nós? Mencione isso na seção de comentários deste artigo Como implantar um aplicativo da Web Java na AWS e entraremos em contato com você.