jueves, 29 de marzo de 2018

Como instalar y correr Apache Spark?


Hay varias formas diferentes de instalar y usar Spark. Podemos instalarlo en una máquina como una aplicación stand-alone o usar una de las imágenes de máquinas virtuales Spark disponibles de proveedores como Cloudera, Hortonworks o MapR. También podemos usar Spark instalado y configurado en la nube (por ejemplo, en Databricks Community Edition).

Cuando instalamos Spark en una máquina local o usamos una instalación basada en la nube, podemos usar algunos modos diferentes para conectarnos al motor Spark.

La siguiente tabla muestra los parámetros principales de URL para los diferentes modos de ejecutar Spark:

  • Local: Corre Spark de forma local con un worker
  • local[k]: Corre Spark de forma local con k workers (lo ideal es que k sea numero de micros)
  • local[*]: Corre Spark de forma local y corre con un numero de workers que se asigna de forma lógica.
  • spark://HOST:PORT: Conecta con un spark standalone cluster master. El puerto debe ser cualquiera que haya sido configurado en el master. Por defecto es 7077.
  • meso://HOST:PORT: Conecta con un Mesos cluster. E El puerto debe ser cualquiera que haya sido configurado en el master. Por defecto es 5050.
  • yarn-client: conecta con clusters YARD en modo cliente, la ubicación del clúster se encontrará en función de la variable HADOOP_CONF_DIR.
  • yarn-cluster:  conecta con clusters YARD en modo cluster, la ubicación del clúster se encontrará en función de la variable HADOOP_CONF_DIR.


Una vez que Spark este funcionando, nosotros podemos connectar usando Spark shell para analisis interactivo de datos. El shell Spark está disponible en los lenguajes Scala y Python. Java no era compatible con un shell interactivo anteriormente, pero está disponible en JDK 9. La herramienta REPL (read-eval-print loop) en Java se llama Jshell.

Se puede utilizar spark-shell para Scala y pyspark para Python.