Um guia de início rápido do Apache Spark para novatos

Um guia de início rápido do Apache Spark para novatos
Author

Ger Inberg

Last updated February 21, 2017


  • 819 Views

'Computação em cluster extremamente rápida' - esse é o slogan do Apache Spark , uma das estruturas de processamento de big data mais populares do mundo. Ele testemunhou um rápido crescimento nos últimos anos, com empresas como e-bay, Yahoo, Facebook, Airbnb e Netflix adotando a estrutura para suas necessidades de big data.

Mas o que é o Apache Spark?

Com o surgimento da Internet das Coisas (IoT) e o uso onipresente da mídia social, houve um aumento nos volumes de dados. De acordo com uma estimativa da Gartner, existem cerca de 6,4 bilhões de dispositivos conectados à Internet, gerando cerca de 2,5 exabytes de dados todos os dias.

Técnicas e ferramentas de big data ajudam as empresas a gerenciar todos esses dados, desde as transações bancárias até a nossa atividade em redes sociais como o Facebook e o Twitter.

E há perguntas a serem respondidas sobre esses dados: como podemos detectar fraudes em nossas transações bancárias, quais anúncios no Facebook recebem mais cliques e assim por diante.

Para responder a essas perguntas, grandes volumes precisam ser processados rapidamente , e é aí que o Spark entra em cena.

Spark 2.0

Com o lançamento do Spark 2.0 no verão passado, o framework está se tornando mais maduro. Chegou a um ponto em que os viciados em tecnologia não são as únicas pessoas que estão cientes do fenômeno Spark - líderes empresariais estão despertando para o seu potencial. A IBM assumiu um grande compromisso com ela e a chama de "potencialmente o projeto de código aberto mais significativo da próxima década". O sucesso da Spark em projetos como a análise personalizada de DNA também contribui para a crença de que ela funciona bem em projetos da vida real.

Então, por que as empresas investem em Faísca?

Spark - uma linha do tempo de sua evolução

Guia de inicialização do Apache

Spark começou em 2009 na Universidade da Califórnia em Berkeley como um projeto de Matei Zaharia. Matei criou Spark ao trabalhar em seu PhD no AMPLab de Berkeley, um instituto que realiza pesquisas sobre análise de big data. Atualmente, ele é o principal tecnólogo da Databricks , uma empresa que ajuda clientes com processamento de big data baseado em nuvem usando o Spark.

O Spark foi open-source em 2010 e foi doado para a fundação de software Apache em 2013. Agora é um projeto de alto nível do Apache e o maior projeto de código aberto em processamento de dados.

O ecossistema Spark

Guia de inicialização do Apache

  • Núcleo do Spark: fornece a funcionalidade básica para os componentes, como agendamento e monitoramento de tarefas em um cluster e tratamento de falhas. Embora o Spark seja desenvolvido na linguagem de programação Scala, ele também fornece uma API para outros idiomas, como R, SQL, Python e Java. Essas linguagens, especialmente R e Python, são as linguagens mais populares da ciência de dados, que é uma das razões pelas quais o Spark é tão popular.
  • Dataframes do Spark SQL +: este é um módulo que fornece uma interface de processamento de dados estruturada via SQL, que é uma linguagem usada para comunicação com um banco de dados. Ele também fornece o formato Dataframe, que é usado para estruturar dados em colunas e linhas.
  • Streaming: em algumas aplicações, precisamos de um resultado de um processamento de dados dentro de um certo limite de tempo, falhando qual se torna inútil. Por exemplo, para detectar fraudes em uma transação com cartão de crédito. Este módulo pode ser usado em situações em que precisamos de desempenho em tempo real.
  • ML / Mlib: Machine Learning (ML) está em toda parte, hoje, de recomendações em sites como Netflix e LinkedIn para tecnologias avançadas como carros autônomos. Este módulo fornece algoritmos de última geração para aprender com os dados e fazer modelos com ele, para poder fazer previsões.
  • GraphX: um módulo que pode manipular dados estruturados em escala. Pode-se pensar em visualizar relações no Facebook ou analisar dados de voo.

Por que Spark é tão popular?

Existem algumas razões pelas quais o Spark é tão popular e porque há uma enorme demanda por pessoas com habilidades Spark -

  • Velocidade: o principal benefício é o processamento rápido de grandes conjuntos de dados. É rápido porque processa os dados na memória e usa tecnologia de cluster. Isso significa que uma determinada tarefa pode ser dividida em sub-tarefas e essas sub-tarefas são calculadas em hosts diferentes em um cluster. Essa tecnologia de cluster não é nova, pois ela também é usada no Hadoop MapReduce, às vezes chamado de antecessor do Spark. Enquanto no Hadoop MapReduce todas as tarefas são executadas no disco, o Spark as executa na memória, o que é muito mais rápido. O Spark é quase 100 vezes mais rápido que o Hadoop MapReduce. Um par de anos atrás, quebrou o recorde de classificação de um petabyte . Também é possível usar o Spark em sua máquina local sem usar um cluster. Eu usei desta forma no meu último projeto onde eu tive que prever taxas de cliques para uma empresa de marketing. Carregando o dados do cliente e construção do modelo de previsão levou cerca de 15 minutos em primeiro lugar. Quando adicionei o Spark, que pode utilizar todos os núcleos da minha máquina, demorou apenas 3 minutos.
  • Facilidade de uso: fornece suporte para as principais linguagens usadas no processamento de dados como Java, Scala, R e Python. A documentação é muito boa e é bastante fácil criar um aplicativo simples em seu idioma favorito. Ele também fornece uma maneira de usá-lo interativamente, o que é útil para experimentar antes de escrever seu programa.
  • Suporta muitos casos de uso: é uma estrutura completa que suporta vários casos de uso. Variando de Aprendizado de Máquina a Processamento de Fluxo e Processamento de Gráfico, o Spark tem bastante funcionalidade disponível que o coloca rapidamente em funcionamento.
  • Integração com outras tecnologias: o Spark pode ser executado em diferentes tecnologias de cluster, como o sistema de arquivos do Hadoop, os serviços Web do YARN e Amazon (AWS). A AWS, que já dá suporte ao Spark há algum tempo, agora tem a vantagem de não ser necessário configurar e manter um cluster sozinho, economizando tempo valioso.
  • Comunidade: a comunidade Spark está ativa e em crescimento. É a maior comunidade de código aberto em Big Data com mais de 1000 colaboradores de mais de 250 organizações.

Da minha própria experiência como cientista de dados, sei que o Spark ganhou popularidade em setores verticais. Houve um forte aumento nos projetos relacionados ao Spark nos últimos anos. Tenho visto solicitações, por exemplo, de clientes para “migrar nossa solução atual em python / R para Spark para melhorar o desempenho”.

Começando com o Spark de Aprendizagem

Se você é novo nesse campo e gostaria de saber mais sobre o Apache Spark, os cursos on-line são a melhor opção. Simplilearn O curso de treinamento de certificação Apache Spark cobre a programação Scala, o streaming Spark, a máquina aprendizado e scripts de shell com 30 demos, um projeto de indústria e 32 horas de treinamento ao vivo com instrutor.

Espero que este artigo tenha lhe dado uma idéia sobre o Apache Spark e seu uso. Por favor, deixe-me saber sobre quaisquer comentários ou perguntas que você possa ter.

Desejo-lhe um dia brilhante!

Find our Apache Spark & Scala Online Classroom training classes in top cities:

Name Date Place
Apache Spark & Scala 29 Sep -21 Oct 2018, Weekend batch Your City View Details

About the Author

Ger Inberg is a freelance data scientist with a background in software development. He is currently helping clients in the field of machine learning and data visualization. When he is not behind his laptop crunching datasets, he might be travelling or doing some outdoor activity like mountain biking or running.


{{detail.h1_tag}}

{{detail.display_name}}
{{author.author_name}} {{author.author_name}}

{{author.author_name}}

{{detail.full_name}}

Published on {{detail.created_at| date}} {{detail.duration}}

  • {{detail.date}}
  • Views {{detail.downloads}}
  • {{detail.time}} {{detail.time_zone_code}}

Registrants:{{detail.downloads}}

Downloaded:{{detail.downloads}}

About the {{detail.about_title && detail.about_title != null ? detail.about_title : 'On-Demand Webinar'}}

About the {{detail.about_title && detail.about_title != null ? detail.about_title : 'Webinar'}}

Hosted By

Profile

{{author.author_name}}

{{author.author_name}}

{{author.about_author}}

About the {{detail.about_title && detail.about_title != null ? detail.about_title : 'Ebook' }}

About the {{detail.about_title && detail.about_title != null ? detail.about_title : 'Ebook' }}

View {{detail.about_title && detail.about_title != null ? detail.about_title : 'On-Demand Webinar'}}

Webcast

Register Now!

Download the {{detail.about_title && detail.about_title != null ? detail.about_title : 'Ebook'}}!

First Name*
Last Name*
Email*
Company*
Phone Number*

View {{detail.about_title && detail.about_title != null ? detail.about_title : 'On-Demand Webinar'}}

Webcast

Register Now!

{{detail.about_title && detail.about_title != null ? detail.about_title : 'Webinar'}} Expired

Download the {{detail.about_title && detail.about_title != null ? detail.about_title : 'Ebook'}}

Email
{{ queryPhoneCode }}
Phone Number

Show full article video

Name Date Place
{{classRoomData.Date}} {{classRoomData.Place}} View Details

About the Author

{{detail.author_biography}}

About the Author

{{author.about_author}}