Friday, September 06, 2013

Ejecutando R dentro de SAP HANA Studio

*PELIGRO* Este es solo un blog tonto y no deberia ser tomado seriamente.*PELIGRO*

Ok...seguro se preguntaran...porque esta Blag escribiendo un blog tonto? Bueno...Soy un Developer Evangelist...y es mi deber mantener a los desarrolladores entretenidos -:) ademas...tenia un poco de tiempo libre -8)

Como ya todos deben saber...SAP HANA Studio corre sobre Eclipse...lo cual significa que si podemos ejecutar R en Eclipse...podemos obviamente ejecutar R en SAP HANA Studio...eso es exactamente lo que vamos a hacer -;)

Tan facil como suena...sigan estas instrucciones...

  • Vamos a Help --> Install New Software
  • Ponemos el siguiente repositorio

  • Escogemos Walware - StatET



  • Una vez instalado, nuestro SAP HANA Studio se reiniciara y deberemos connfigurar R.
  • Nos vamos a Windows --> Preferences.
  • StatET --> Run/Debug --> R Environments --> Add (En la imagen, estoy usando Edit puesto que yo ya lo agregue).




  • Ya sea en la linea de comandos o en RStudio, instalamos lo siguiente...
  • install.packages(c("rj", "rj.gd"), repos="http://download.walware.de/rj-1.1")
  • Tambien instalamos RJava...install.packages("RJava")

Ahora...debemos iniciar la consola de R...asi que...
  • Vamos a la pequeño boton con Flecha Verde y presionamos "R_Console".


Una vez que esto esta listo, podemos crear nuestro script en R...
  • Vamos a File --> New Project --> R Project.
  • En el proyecto R creado, hacemos doble click y seleccionamos New --> R Script File.



Copiamos este codigo en el script R...

R_from_SAP_HANA.sql
result<-read.table('clipboard',header=TRUE,sep=';')
result<-subset(result, !duplicated(DISTANCE))
flights<-data.frame(DISTANCE=as.numeric(result$DISTANCE))
row.names(flights)<-result$FLIGHT
d<-dist(as.matrix(flights))
hc<-hclust(d)
plot(hc)

Ahora...vamos a la perspectiva "Modeler"...abrimos una consola SQL y escribimos lo siguiente...

SAP_HANA_Select.sql
SELECT DISTINCT CITYFROM || '/' || CITYTO "FLIGHT", DISTANCE
FROM SFLIGHT.SPFLI
WHERE DISTANCE > 0
  AND CARRID = 'SQ'

Lo ejecutamos...y aqui viene la parte graciosas...nos vamos al tab Result tab y seleccionamos todos los registros...luego seleccionamos Copy Rows, para que la seleccion quede grabada en el Clipboard.


Regresamos a la perspectiva StatET y hacemos click en el boton "Run file in R via command"...



Cuando ejecutamos el codigo...no vamos a ver ninguna respuesta, a menos que haya un error...asi que simplemente vamos al tab R Graphics tab que esta abajo, en el lugar donde el tab Console se ubica...lo expandimos...y podran ver un grafico de Cluster Dendogram generado -;)


Se los dije...este es un post muy tonto...pero por lo menos...nunca dejamos SAP HANA Studio -:P

Nos vemos la proxima vez!

Blag.
Developer Experience.

No comments: