Saltar al contenido

Una introducción a los datos ordenados con Spark DataFrames

En los últimos años, Spark se ha convertido en una de las herramientas más comunes para el procesamiento distribuido de grandes datos y el aprendizaje por máquina, reemplazando en gran medida el antiguo marco de Hadoop MapReduce, debido a su flexibilidad, velocidad y facilidad de uso. Está escrito en gran parte en Scala, pero tiene una amplia variedad de enlaces con otros lenguajes, incluyendo Java, R, y, lo más importante, Python. Estos enlaces le permiten combinar la expresividad y familiaridad de Python, como un lenguaje de consulta/scripting, con la potencia y eficiencia de Scala, como un lenguaje compilado.

Como ya se ha mencionado, Spark es un marco de procesamiento distribuido, lo que significa que delega el trabajo en una serie de nodos trabajadores, o «ejecutores». Cada ejecutor es un procesador independiente; por ejemplo, una máquina individual en un centro de procesamiento de datos. Los ejecutores realizan los cálculos que se les asignan y luego transmiten los resultados a un único nodo maestro, el «controlador». Spark se encarga de los detalles de nivel inferior, como qué parte asignar a qué ejecutor, la asignación de memoria y la vigilancia de los tiempos de espera, para poder centrarse en cambio en el objetivo de alto nivel.

Una introducción a los datos ordenados con Spark DataFrames
Una introducción a los datos ordenados con Spark DataFrames

A menudo, en un escenario del mundo real, estará físicamente separado tanto del conductor como de los ejecutores (que juntos forman el «clúster») y se conectará a ellos a través de Internet o de una VPN. Sin embargo, para los propósitos de este tutorial, es conveniente que Spark también pueda simular un cluster con su máquina local; cada núcleo será entonces un único ejecutor. En general, toda la comunicación con el cluster se realiza a través de un objeto SparkSession. Por lo tanto, nuestro primer paso es crear uno.

Nota: Esta guía asume que ya ha instalado con éxito PySpark.

Si trabajas desde la línea de comandos, el comando pyspark debería instanciar un shell Python con una SparkSession ya creada y asignada a la chispa variable. Por otro lado, si prefieres trabajar desde un cuaderno de Jupyter, puedes ejecutar el código que se muestra a continuación para crear una SparkSession que viva en tu cuaderno.

123desde pyspark.sql importar SparkSessionspark = SparkSession.builder.getOrCreate()

pitón

¡Grandioso! Ahora tenemos una Sesión de Chispas activa. El siguiente paso es conseguir algunos datos con los que trabajar.