Descargar Scala

Como instalar Scala y SBT en Centos 7

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (5 votos, promedio: 5,00 de 5)
Cargando...

Instalar el lenguaje de programación Scala en Centos 7 y Scala Build Tool

Para instalar el lenguaje de programación Scala, lo primero que se debe hacer es instalar Java, puedes seguir la guía para instalar Java de forma fácil en Centos.

Una vez se dispone de Java en el servidor, desde la página oficial de descargas de scala, se descarga la versión más reciente. En la parte inferior de la página oficial se encuentra una sección llamada Otros recursos, donde se puede encontrar el paquete RPM, y en este caso descargaremos el paquete rpm de Scala 2.12.7

Descargar el RPM de Scala

 

Para descargarlo directamente se utiliza el comando WGET

wget https://downloads.lightbend.com/scala/2.12.7/scala-2.12.7.rpm

Y una vez descargado se instala con yum

yum install scala-2.12.2.rpm -y

Comprobamos que todo esta correcto

scala -version

Si todo ha ido bien, debe mostrar la versión instalada de Scala. Por último eliminar el paquete rpm de Scala descargado, que ya no vale para nada.

rm -rf scala-2.12.7.rpm

Ya es posible empezar a programar en Scala.

Empezar a programar con Scala

Se puede programar en Scala directamente desde su shell, para ello escribe

scala

Se ejecutará y aparece la shell de escala donde se pueden escribir las lineas de código y probar. Pro ejemplo introduce 1+1 y pulsa Intro. De esta manera se pueden hacer pruebas con escala y aprender a programar en este lenguaje. Aunque esto esta bien para aprender, no es la manera de trabajar. Normalmente se trabaja sobre un fichero con extensión. Scala con todas las líneas de código y que después se pueden ejecutar todas juntas o compilarlas en un fichero .jar y enviarlo a Apache Spark, por ejemplo. Para trabajar de la manera común  puedes crear una carpeta para el proyecto y ahi incluir el código fuente de Scala.

Crear una carpeta para el programa y entrar dentro

mkdir programa
cd programa

Se crea el fichero que incluirá el código y se edita con el editor de textos Vi

touch programa.scala
vi programa.scala

Ahora se debem escribir las lineas de código, pulsa la letra i para insertar texto y escribe

println("Hello World")

Una vez escrito, pulsa la tecla escape y guarda el contenido del fichero escribiendo :wq. Puedes escribir todas las líneas necesarias para tu programa.

Al final puedes probar el programa escribiendo

scala programa.scala

Intalar SBT (Scala Build Tool) para Scala en Centos 7

Scala Build Tool o sbt es una herramienta de compilación para Scala que va a permitir empaquetar los programas en Jar ademas de descargar e instalar las dependencias del programa. Instalar SBT es tan sencillo como descargar el repositorio e instalar con Yum, para ello se ejecutan los siguientes comandos

curl https://bintray.com/sbt/rpm/rpm | sudo tee /etc/yum.repos.d/bintray-sbt-rpm.repo
yum install sbt -y

Compilar un código Scala en Jar para Spark

Antes de compilar el código Scala es necesario realizar una serie de modificaciones en el código del fichero .scala anterior, para ello se vuelve a editar el fichero del ejemplo anterior

vi programa.scala

Al posicionarse sobre la línea de código del ejemplo anterior, pulsaremos dos veces la letra D para eliminar la linea. Ahora pulsa la letra I para insertar y copia y pega el siguiente código

package com.josebernalte.spark.apps

import org.apache.spark.{SparkConf, SparkContext}
import org.apache.spark.SparkContext._

object Hello{

def main(args: Array[String]){
println("Hello World")
}
}

Se han realizado una serie de modificaciones en el código para que se pueda compilar y crear como paquete correctamente. Para ello se ha incluido la instrucción package y la ruta donde va a estar el paquete. También se han importado el contexto de Spark, de esta manera se puede trabajar con trabajar con el objeto SparkContext, en este ejemplo no se va a utilizar, pero esto casi siempre es necesario cuando se trabaja con Apache Spark y de esta manera se puede ver como SBT descarga algunas librerías.
En definitiva, se ha creado una clase de solo una instancia u objeto llamado Hello dentro de la librería de clases com.josebernalte.spark.apps y que el método principal muestra por pantalla la cadena “Hello World”. Esto es básico, aquí un programador de scala lo puede complicar tanto como quiera o sea necesario.

Con estas modificaciones en el código fuente del programa Scala se puede crear un archivo de definición de sbt. Este archivo sbt se crea dentro de la carpeta donde reside el código de Scala. Por ejemplo, introduce el siguiente código en programa.sbt para un programa llamado programa Scala en la carpeta programa

name := "Programa"
version := "1.0"
scalaVersion := "2.12.7"
libraryDependencies += "org.apache.spark" % "spark-core_2.11" % "2.2.0"
Por lo tanto ahora se debe tener un directorio llamado programa que debe contener un fichero llamado programa.scala y otro llamado programa.sbt. Comprobado esto, ejecutar dentro de la carpeta el comando sbt para empezar a empaquetar.
sbt package
La herramienta de empaquetado de Scala empieza a trabajar, descarga las dependencias en la carpeta ~/.ivy2/cache/ y compila la aplicación. Sbt el trabajo y ha creado unas carpetas dentro de la carpeta programa. Y lo que interesa, es que ha publicado el fichero .jar dentro del nuevo subdirectorio target/scala-2.12/ y ahí esta el programa empaquetado programa_2.12-1.0.jar

Ejecutar el archivo JAR con el código compilado de Scala en Spark

Ahora con el archivo localizado se puede enviar directamente al cluster de Spark para que ejecute para ello se hace uso de la aplicación spark-submit

spark-submit –class com.josebernalte.spark.apps.Hello –master yarn target/scala-2.12/programa_2.12-1.0.jar

Deja una respuesta