Ciência e Dados
Menu
  • Home
  • Sobre
  • Contato
Menu
Data Science com Scala (Scalable Language)

Data Science com Scala – Scalable Language

Posted on 23 de novembro de 201527 de dezembro de 2017 by David Matos

Tem havido ultimamente, muita discussão sobre linguagens de programação utilizadas em Data Science. Python e R são as mais populares entre os Cientistas de Dados, enquanto o Java tem sido a linguagem usada para aplicativos e desenvolvimento sobre Hadoop. Mas existem outras opções que merecem ser consideradas. Uma destas opções é a linguagem Scala (Scalable Language), que vem crescendo recentemente e apesar de algumas limitações, é uma boa linguagem para criar uma plataforma de computação estatística eficiente e escalável. Com o crescimento de frameworks de Big Data, como Apache Spark e Apache Kafka, estamos vendo a adoção da linguagem Scala ganhando espaço entre os projetos de Big Data e Ciência de Dados. De certa forma, a escolha de uma linguagem de programação para Data Science é bastante pessoal e existem vantagens e desvantagens em todas elas (clique aqui para ler o post com a comparação entre R e Python). Mas vamos falar um pouco sobre a Scala (página oficial aqui).

Scala é uma linguagem de programação para aplicações de software em geral, que combina os paradigmas de programação orientada a objetos e funcional, utilizando uma sintaxe concisa que é totalmente compatível com Java e é executado na JVM (máquina virtual Java). A linguagem foi originalmente desenvolvida por Martin Odersky cerca de 15 anos atrás, muito antes de surgir o conceito de Big Data. Os defensores da linguagem costumam citar a sua velocidade e expressividade como principais vantagens sobre outras linguagens de uso geral. Isso permite que programas escritos em Scala sejam concisos e, portanto, menor em tamanho do que outras linguagens de programação. Muitas das decisões de design do Scala foram inspiradas pelas críticas às deficiências do Java.  A linguagem tem sido fortemente adotada pelas empresas de mídia social, tais como Foursquare e Twitter, que em 2009 migrou de Ruby para Scala na maioria de seus sistemas de back-end. Vale mencionar ainda, que empresas como LinkedIn, The Guardian e até mesmo a Sony, usam Scala em sua infraestrutura.

Um dos grandes atrativos da linguagem, que é percebido logo de cara por programadores que já tenham experiência em outras linguagens orientadas a objetos, é a quantidade de código gerado. O tamanho de código é normalmente reduzido pela metade ou a um terço em relação a uma aplicação Java equivalente.

Mas uma das grandes vantagens em utilizar Scala em projetos de Big Data (que envolvam o Spark), é a possibilidade de trabalhar todas as camadas na mesma linguagem. Isso traz diversas vantagens, tais como: maior velocidade de processamento, suporte para novas funcionalidades de forma instantânea (Spark é escrito é Scala) e melhor compreensão do funcionamento do Spark, permitindo extrair o máximo da ferramenta.

Scala tem uma grande variedade de bibliotecas. Abaixo, algumas das principais bibliotecas Scala para uso em análise de dados:

Saddle – biblioteca de manipulação de dados de alta performance para Scala (similar ao Pandas para Python), que permite a utilização de estrutura de dados dimensionais.

MLlib – framework de Machine Learning.

Apache Zeppelin – Scala e Spark Notebook (similar ao iPython Notebook).

Spire – biblioteca numérica para Scala, criada para ser genérica, rápida e precisa.

Algebird – álgebra abstrata. Esta biblioteca tem como objetivo a construção de sistemas de agregação.

Axle – biblioteca open source para computação científica.

Chalk – biblioteca para processamento de linguagem natural.

Breeze – biblioteca para processamento numérico e álgebra linear.

Factorie – toolkit para modelagem probabilística.

Squants – API para medidas de unidade e análise dimensional.

PredictionIO – framework open source de Machine Learning, para desenvolvedores e Cientistas de Dados.

Figaro – linguagem de programação probabilística.

Scalding – biblioteca para especificação de jobs Hadoop e MapReduce.

Epic – framework para análise preditiva.

Puck – processador de linguagem natural.

ScalaNLP – suíte de bibliotecas de Machine Learning que inclui o Breeze, Epic e Puck.

Caso tenha interesse em conhecer um pouco mais a Scala ou mesmo experimentar, você pode fazer o download do IDE aqui.

A linguagem de programação Scala permite criar uma base sólida para construir uma plataforma de computação estatística escalável e eficiente. Embora R e Python sejam as linguagens mais utilizadas em Ciência de Dados, vale a pena conhecer um pouco mais sobre outras opções para o desenvolvimento de algoritmos. Espera-se que no longo prazo, Scala possa se tornar uma estrutura completa para estatísticas e Data Science.

David Matos

Relacionado

1 thought on “Data Science com Scala – Scalable Language”

  1. Laura katiuscia disse:
    22 de dezembro de 2021 às 10:49 PM

    Muito bom esse conteúdo tava procurando algo da linguagem scala.

    Responder

Deixe um comentário Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Buscar

Twitter

Meus Tuítes

Tags Mais Comuns nos Posts

Anaconda Analytics Análise de Negócios Apache Spark AWS Big Data Blockchain Business Intelligence ChatGPT Chief Data Officer Cientista de Dados Cientistas de Dados Ciência de Dados Cloud Computing Data Lake Data Mesh Data Science Data Scientist Data Warehouse Deep Learning Deploy Descriptive Analytics Diagnostic Analytics Engenharia de Dados Engenheiro de Dados Estatística GPU Hadoop Inteligência Artificial Internet of Things Linguagem Python Linguagem R Machine Learning MapReduce Metadados NoSQL NVIDIA Open Data Oracle Predictive Analytics Prescriptive Analytics Probabilidade Python Salários Data Science Visualização

Histórico de Posts

  • março 2023 (3)
  • fevereiro 2023 (3)
  • janeiro 2023 (5)
  • dezembro 2022 (8)
  • novembro 2022 (7)
  • outubro 2022 (2)
  • setembro 2022 (3)
  • agosto 2022 (2)
  • julho 2022 (2)
  • junho 2022 (3)
  • maio 2022 (1)
  • abril 2022 (3)
  • março 2022 (1)
  • fevereiro 2022 (3)
  • janeiro 2022 (2)
  • dezembro 2021 (1)
  • novembro 2021 (5)
  • outubro 2021 (2)
  • setembro 2021 (3)
  • agosto 2021 (1)
  • junho 2021 (1)
  • fevereiro 2021 (2)
  • janeiro 2021 (1)
  • dezembro 2020 (1)
  • novembro 2020 (1)
  • outubro 2020 (2)
  • agosto 2020 (1)
  • abril 2020 (1)
  • março 2020 (1)
  • fevereiro 2020 (2)
  • agosto 2019 (1)
  • abril 2019 (1)
  • setembro 2018 (2)
  • julho 2018 (1)
  • junho 2018 (3)
  • abril 2018 (1)
  • março 2018 (1)
  • fevereiro 2018 (2)
  • janeiro 2018 (1)
  • dezembro 2017 (1)
  • novembro 2017 (1)
  • outubro 2017 (1)
  • setembro 2017 (1)
  • julho 2017 (1)
  • junho 2017 (1)
  • maio 2017 (2)
  • abril 2017 (1)
  • janeiro 2017 (1)
  • novembro 2016 (1)
  • outubro 2016 (1)
  • setembro 2016 (1)
  • julho 2016 (1)
  • junho 2016 (1)
  • maio 2016 (1)
  • abril 2016 (1)
  • fevereiro 2016 (1)
  • janeiro 2016 (3)
  • dezembro 2015 (4)
  • novembro 2015 (6)
  • outubro 2015 (9)
  • setembro 2015 (9)
  • agosto 2015 (9)
©2022 Ciência e Dados