Al empezar a trabajar con Scala, uno de los retos que nos encontramos es el de la preparación de un entorno que nos facilite la vida y agilice los tiempos de nuestros desarrollo. En este post voy a presentar dos maneras de trabajar con Scala para el desarrollo de de aplicaciones para Apache Spark, una sin IDE y otra con IDE En primer lugar, la forma mas sencilla y directa de crear una primera aplicación con Scala es la de escribirla directamente con un editor de textos. En mi caso, he elegido SublimeText y he creado la siguiente aplicación de ejemplo:
Con guardar el archivo con la extensión .scala tendremos suficiente. Luego deberemos descargar Sbt (Super BuildTool), en mi caso para windows pero también existen versiones para Linux y Mac. Sbt es la herramienta estandard para construir aplicaciones de Scala. Crearemos una estructura de directorios del siguiente tipo:
Y generaremos la aplicación con sbt package esto nos creara un .jar de salida en la ruta ./target Para ejecutar nuestro jar en Spark, simplemente lo haremos con el comando :
Si lo que queremos es un entorno de desarrollo para crear este tipo de aplicaciones, todos aquellos que vengamos del binomio Java + Eclipse agradeceremos tener un IDE basado en eclipse para el desarrollo de aplicaciones Scala, se puede descargar de aquí. Ahora bien, si lo que queremos es construir la aplicación de Scala con Maven desde Eclipse, deberemos instalar un plugin. Aquí os dejo la url del repositorio :
Una vez instalado para crear un nuevo proyecto haremos: New --> Other --> Maven Project y seleccionamos el archetype Scala-archetype-simple Alternativamente, si el método anterior no funciona lo haremos de la siguiente manera: Crearemos un Maven Project Click derecho sobre el proyecto y seleccionamos Configure --> Add Scala Nature En el pom.xml enganchamos
Nos mostrara un error, en la pestaña de Problems --> click derecho sobre el error Quick Fix A continuación, en el archivo pom.xml, importamos las librerías de spark
org.apache.sparkspark-core_2.101.6.1
Ahora se nos mostrará otro error, causado porque el Scala IDE pone como defecto para construir el proyecto Scala 2.11 y el spark-core espera scala 2.10, buildPath y cambiamos la versión de Scala. Ahora cambiamos la carpeta src de java a scala y ya habremos terminado la configuración. Finalmente esta es la pinta que tendrá nuestro proyecto
Ya solo quedará generar el jar haciendo Run as --> Maven build y en mi caso en el parámetro Goal poniendo clean install (por ejemplo).