PySpark
O que é PySpark?
O Apache Spark é escrito na linguagem de programação Scala. PySpark é uma API em Python para executar o Spark e foi lançado para oferecer suporte à colaboração entre Apache Spark e Python. O PySpark também oferece suporte à interface do Apache Spark com conjuntos de dados distribuídos resilientes (RDDs) na linguagem de programação Python. Isso é obtido aproveitando a biblioteca Py4J.
Py4J é uma biblioteca popular incorporada ao PySpark que permite a interface dinâmica com objetos na JVM do Python. O PySpark possui muitas implementações de bibliotecas para programação eficiente e também possui bibliotecas externas compatíveis. Aqui estão alguns exemplos:
PySparkSQL
PySparkSQL é uma biblioteca PySpark para análises semelhantes a SQL em grandes quantidades de dados estruturados e semiestruturados. Você pode usar o PySparkSQL para executar queries SQL, trabalhar com o Apache Hive e até mesmo aplicar o HiveQL. Além disso, o PySparkSQL é um wrapper do PySpark Core. PySparkSQL introduz DataFrames para representar dados estruturados em um formato tabular semelhante a tabelas em sistemas de gerenciamento de banco de dados relacional.
MLlib
MLlib é um wrapper para PySpark e a biblioteca de machine learning (ML) do Spark. Esta biblioteca usa a técnica de paralelismo de dados para armazenar e trabalhar com dados. A API de machine learning fornecida pela biblioteca MLlib é fácil de usar. MLlib é compatível com muitos algoritmos de machine learning para classificação, regressão, agrupamento, filtragem colaborativa, redução de dimensionalidade e primitivas de otimização subjacentes.
GraphFrames
GraphFrames é uma biblioteca de processamento de dados gráficos que usa PySpark Core e PySparkSQL para fornecer um conjunto de APIs para análise de gráficos eficiente. Também é otimizado para computação distribuída rápida. Vantagens de usar o PySpark: • Python é extremamente fácil aprender e implementar. • Ele fornece uma API simples e abrangente. • O uso do Python melhora a legibilidade do código, capacidade de manutenção e facilidade de uso. • Oferece muitas opções para visualização de dados, o que é difícil com Scala ou Java.