Entradas

Mostrando entradas de abril, 2019

Cómo ejecutar Notebooks de Jupyter en Spark

Imagen
Jupyter Notebook es una aplicación web de código abierto que permite crear y compartir documentos que contienen código vivo, ecuaciones, visualizaciones y texto narrativo. Debido a la mezcla de elementos de código y texto, los cuadernos Jupyter son ideales para el análisis de datos on-line y colaborativo. Los casos de uso incluyen: limpieza y transformación de datos, simulación numérica, modelado estadístico, visualización de datos, aprendizaje automático y mucho más. Jupyter Notebook tiene soporte para más de 40 lenguajes de programación (a través de lo que se denomina "núcleo"); de hecho, "Jupyter" es un acrónimo de Julia, Python y R. Estos tres lenguajes de programación fueron los primeros lenguajes que soportó Jupyter, pero hoy en día también soporta muchos otros lenguajes como Java, Scala, Go, Perl, C/C++. IPython es el kernel por defecto y, en su versión actual, soporta versiones de Python igual o superiores a la 3.5. Jupyter también aprov...

Cómo utilizar una versión distinta de Python en Spark

Imagen
Las últimas versiones de Spark 2 son capaces de ejecutar código de cualquier versión de Python igual o superior a 2.7 y 3.4 (el soporte para Python 2.6 fue eliminado a partir de Spark 2.2.0). Por defecto, en algunas situaciones, PySpark utiliza los ejecutables binarios de Python 2.7 tanto en el driver como en los workers o ejecutores, ya que ésta suele ser la versión predeterminada de Python que se puede encontrar en bastantes de las distribuciones de sistemas operativos Linux con soporte empresarial. Pero ¿y si queremos utilizar otra versión distinta de Python en Spark?.  Por suerte, en Spark es posible instalar y usar múltiples versiones de Python; es tan simple como desplegar la versión requerida de Python tanto en el servidor o nodo que ejecuta el programa driver como en el nodo master así como en todos nodos workers o executors y luego usar las variables de entorno de Spark para especificar qué versión usar. Para desplegar la versión requerida de Py...