freeCodeCamp/guide/portuguese/data-science-tools/spark/index.md

32 lines
3.0 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

---
title: Spark
localeTitle: Faísca
---
## Faísca
[O Spark](http://spark.apache.org/) é um sistema de computação de cluster rápido e geral para Big Data. Ele fornece APIs de alto nível em Scala, Java, Python e R e um mecanismo otimizado que suporta gráficos gerais de computação para análise de dados. Ele também suporta um conjunto avançado de ferramentas de nível superior, incluindo o Spark SQL para SQL e DataFrames, MLlib para aprendizado de máquina, GraphX para processamento de gráficos e Spark Streaming para processamento de fluxo.
## Principais recursos
O Spark 2.0 possui muitos novos recursos:
* Fonte de dados CSV nativo, com base no módulo spark-csv do Databricks
* Gerenciamento de memória fora do heap para armazenamento em cache e execução em tempo de execução
* Suporte ao balde de estilo colmeia
* Estatísticas resumidas aproximadas usando esboços, incluindo quantil aproximado, filtro Bloom e esboço de contagem min.
## Como é usado para Data Science
O Spark tornou-se uma ferramenta padrão na caixa de ferramentas de muitos cientistas de dados. Com sua flexibilidade nas opções de API, qualquer programador pode trabalhar com o Spark no idioma de sua preferência. Conforme observado por [Cloudera](https://blog.cloudera.com/blog/2014/03/why-apache-spark-is-a-crossover-hit-for-data-scientists) , o Spark ganhou popularidade por vários motivos:
* Sendo baseado em Scala, o Spark se incorpora em qualquer sistema operacional baseado em JVM, mas também pode ser usado interativamente em um REPL de uma maneira que pareça familiar aos usuários de R e Python.
* Para programadores Java, o Scala ainda apresenta uma curva de aprendizado. Mas pelo menos, qualquer biblioteca Java pode ser usada dentro do Scala. A abstração RDD (Resilient Distributed DataSet) do Spark se assemelha à PCollection do Crunch, que provou ser uma abstração útil no Hadoop que já será familiar aos desenvolvedores do Crunch. (Crunch pode até ser usado em cima do Spark.)
* O Spark imita a API e o estilo funcional das coleções do Scala, o que é um benefício para os desenvolvedores de Java e Scala, mas também um pouco familiar para os desenvolvedores que vêm do Python. O Scala também é uma opção atraente para a computação estatística.
* A própria Spark e o Scala, por baixo, não são específicos da aprendizagem automática. Eles fornecem APIs que suportam tarefas relacionadas, como acesso a dados, ETL e integração. Assim como no Python, todo o pipeline de ciência de dados pode ser implementado dentro desse paradigma, não apenas o ajuste e a análise do modelo.
* Código que é implementado no ambiente REPL pode ser usado principalmente como está em um contexto operacional.
* As operações de dados são distribuídas de maneira transparente no cluster, mesmo quando você digita.
#### Mais Informações
* [Página do Spark Github](https://github.com/apache/spark)
* [Wikipedia](https://en.wikipedia.org/wiki/Apache_Spark)