R

Configurar la máquina virtual de Java en R

Existen múltiples paquetes de R que utilizan la máquina virtual de Java para trabajar. Una mala configuración de esta puede provocar que no funcione bien. A continuación se explican en un par de trucos para configurar la máquina virtual de Java en R y poder evitar problemas.

Introducción

Java es uno de los lenguajes de propósito general más populares en la actualidad. Una de sus principales propiedades es la independiente de la plataforma sobre la que corren los programas. Esto se consigue porque estos corren en sobre una máquina virtual. El código escrito en sistema operativo puede correr sin cambios en todos aquellos para los que existe una máquina virtual. La portabilidad hace que se pueda utilizar desde R u otros lenguajes para realizar tareas específicas. Por ejemplo, hace poco se comentó cómo utilizar Java para acceder a las bases de datos.

Para utilizar el lenguaje Java directamente desde R se puede utilizar el paquete rJava. Su popularidad se puede apreciar en las decenas de paquetes del CRAN dependen de este. Lo que indica que la máquina virtual de Java se utiliza mucho desde R. Pudiendo ser utilizada en muchas ocasiones sin que el usuario se de cuenta de ello.

Una mala configuración de la máquina virtual de Java puede provocar que cuando sea necesario utilizar la misma no se obtengan los resultados.  Por ejemplo, utilizar una versión incorrecta de la máquina virtual o cuando esta no tiene la memoria suficiente.

Obtención de la versión de la máquina virtual de Java en R

Utilizar una versión correcta de la máquina virtual es importante al emplear Java. Por ejemplo, para acceder a una base de datos se ha de importar un controlador JDBC que ha de ser compatible. Obtener la versión de Java desde R es relativamente fácil de hacer, simplemente se ha de instalar el paquete rJava y ejecutar el siguiente código:

require(rJava)
.jinit()
jObj = J('java.lang.System')
ver = jObj$getProperty('java.version')

Al ejecutar este código inicialmente se importa el paquete rJava y se utiliza la función .jinit() para inicializar la máquina virtual de Java. Posteriormente se guarda en la variable ver una cadena de texto con la versión de la máquina utilizado por R.

Configuración de la memoria de la máquina virtual de Java en R

La memoria es un recurso valioso que ha de ser gestionado inteligentemente. La memoria asignada por defecto a la máquina virtual de Java puede ser insuficiente para ciertas tareas. En caso de que esto suceda el código Java se parará generando una excepción. Para evitar esto se ha de asignar más memoria a la máquina virtual. En esta situación lo primero es consultar la memoria disponible mediante el comando:

options()$java.parameters

Obteniéndose generalmente una respuesta de la forma:

“-Xmx512m”

Lo que indica que la memoria máxima disponibles es de 512Mb. En caso de que se desee aumentar la memoria máxima hasta los 2Gb se puede utilizar el comando

options( java.parameters = "-Xmx4g" )

Además se pueden utilizar las siguientes opciones para configurar la memoria de la máquina virtual de Java:

  • -Xms3024m (memoria mínima)
  • -Xmx3024m (memoria máxima)
  • -XX:PermSize=2222m (mínimo heap)
  • -XX:MaxPermSize=2222m (máximo heap)
  • -XX:MaxNewSize=200m (memoria máxima para objeto)
  • -XX:NewSize=100m (memoria mínima para objeto)

Conclusiones

En esta entrada se ha visto dos trucos para configurar la máquina virtual de Java en R. No es necesario cambiar la configuración de esta, pero conocer cómo hacerlo puede evitar quebraderos de cabeza en muchas ocasiones.

Imágenes: Pixabay

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez
Tags: Java

Recent Posts

Errores comunes al interpretar resultados estadísticos

La estadística no suele fallar en los cálculos: falla en la interpretación. El test está…

2 días ago

Dashboard CLV: cuatro modelos, un mismo dataset, conclusiones muy distintas

Los artículos anteriores de esta serie cubrieron cuatro formas de mirar el valor del cliente:…

4 días ago

Curiosidad: Por qué la criptografía habla siempre de Alice y Bob

Quien se acerca a la criptografía descubre enseguida a dos personajes que aparecen en casi…

1 semana ago

Desbalanceo de Clases en Credit Scoring: Por Qué Usamos Ponderación en lugar de Undersampling

En credit scoring el desbalanceo de clases es la norma, no la excepción. En una…

2 semanas ago

Curiosidad: El “bug”, la polilla y la leyenda de Grace Hopper

Cualquiera que programe usa la palabra bug a diario para referirse a un fallo en…

2 semanas ago

BG/BB: el modelo de CLV para compras en períodos discretos

Los dos artículos anteriores de la serie cubrieron BG/NBD, el modelo para negocios donde el…

3 semanas ago

This website uses cookies.