Skip to content
CrossNox edited this page Jul 21, 2019 · 15 revisions

Guía de instalación [WIP]

Antes de comenzar

Antes de comenzar, fíjate que necesitas el JDK instalado. Si usás ubuntu:

sudo apt-get update
sudo apt-get install default-jdk
sudo update-alternatives --config java

En el menú que se muestra elegís el que recién instalaste. Copiate el path dónde dice que se instaló y seguí así:

sudo vim /etc/environment

Al final del archivo agrega la siguiente línea:

JAVA_HOME="la_ruta_que_copiaste"

Guardá (dale, no es tan díficil). Y tirá los siguientes comandos:

source /etc/environment
echo $JAVA_HOME

Al imprimir la variable de entorno en el último paso deberías ver lo mismo que copiaste previamente.

Si no usás ubuntu probablemente tengas alguna idea de lo que estás haciendo, así que sabrás instalarlo por tu cuenta :P

Con un virtualenv

mkdir ~/.pyspark && cd  "$_"
virtualenv -p python3 venv
source venv/bin/activate
pip install jupyterlab pyspark
mkdir $( dirname $( jupyter-kernelspec list | grep python3 | sed 's/[^\/]*//' ) | awk '{print $1"/pyspark"}' ); cd "$_"
wget https://gist.github.com/CrossNox/b473f7a8eed1bbefdb6bc35e86442b55/archive/0ab666460d235d3bb4ea2619e46ec056d003a777.zip
unzip -j *.zip && rm *.zip
eval "echo \"$(cat kernel.json)\"" | tr "'" '"' > kernel2.json && rm kernel.json && mv kernel2.json kernel.json

Y para probarlo:

jupyter lab

Y en el navegador se te va a abrir jupyter lab, proba de levantar un notebook con el kernel pySpark, con un código sencillo como:

sc.parallelize(range(10)).map(lambda x: x*2).collect()

Y fijate que no pinche.

¿Y si pincha?

¯\(ツ)

Con docker

Testeado en Fedora 28 y macOS High Sierra

Vas a necesitar docker instalado, obviamente. Cómo instalarlo se escapa del alcance de ésta guía actualmente.

mkdir pyspark-docker && cd $_
wget https://gist.githubusercontent.com/CrossNox/2f59051473e2dacc067c710a5730d2dd/raw/02352ee6d246df44222a1f91dc8bea2eef36699b/Dockerfile
wget https://gist.github.com/CrossNox/4a52b22f77efc0d43c43e4c998b6bef2/archive/1ec6d34bead6959f7b755c7486ab4cc7f0692029.zip && unzip -j *.zip -d pyspark && rm *.zip
docker build -t pyspark .
docker run -p 127.0.0.1:8888:8888 pyspark

Y luego pueden acceder desde un navegador en localhost:8888

Con conda

Transformaciones y acciones

Esto, pero que sirva

Patrones comunes para ejercicios