Entradas

Mostrando entradas de 2020

Paquete dplyr de R, quizás el sql de los matemáticos

Imagen
 En los primeros cursos de R , me llamaba la atención de como utilizar herramientas para las consultas a los datos, algún símil de lo que hace SQL , o lo que se hace usando los menús de SPSS , STATA o REDATAM . En mi anterior área donde hay más informáticos que matemáticos lo que hacíamos era que el motor dejara los conjuntos de datos listos para que R procesara - en nuestro caso - los cálculos usando el paquete estadístico survey ya que estábamos en el ámbito de las encuestas. En este caso donde la mayoría de mis compañeros son matemáticos, R es el estandarte y en estos días de aprendizaje no lo hace nada mal. Una de las cosas por las que me fui en esta ocasión por R es tratar de ponerme al corriente con mis compañeros porque bien lo pude haber hecho en otro lenguaje o motor de base de datos pero es necesario ya conocer o hacer lo que puedo con otras herramientas, ahora con R .

Spark para conectar con bases de datos vía JDBC

Imagen
 En mis primeras andadas en lo referente al paquete sparklyr , para este tema en especial, lo que se pretende es usar la librería de JDBC para que este sea el medio de conexión y ese conjunto de datos (dataset) que se extrae, sea manipulado por Spark con todas las ventajas que tiene el paquete como ya lo he descrito en los artículos anteriores. Me base en tres posts que vienen la final de este artículo. En primera instancia utilice el conector JDBC para Oracle ( ojdbc7.jar ) y pues funcionó sin problemas, vamos con la fórmula. 1- Se cargan las librerías. library("sparklyr") library("RJDBC") 2- Se carga la configuración de Spark , para después agregar la ruta y nombre del conector JDBC. ## Spark config <- spark_config() ## Tell config location of oracle jar config[["sparklyr.jars.default"]] <- "ruta/ojdbc7.jar" 3 - Se crea la conexión, indicándole nuestra variable de configuración. connspark <- spark_connect(master="local&qu

Conectar bases de datos Oracle con R vía JDBC

Imagen
 Hasta ahora había documentado la conexión de R usando nuestra modesta pero poderosa base de datos pequeñita llamada SQLite. Debido a mis nuevas funciones se me pidió que conectara una base de datos de Oracle con R y esto lo consulté en la siguiente liga de internet. Entendemos que existen paquetes de R para un motor específico de una base de datos, pero como lo menciona el autor del post que cito arriba el usar el paquete RJDBC resume en 2 ventajas: Mayor facilidad de mantenimiento nuestros programas R cuando se cambia de motor de base de datos. La independencia del sistema operativo usando la máquina virtual de Java. Es por ello que el paquete RJDBC es una buena opción para conectar con nuestra diferentes bases de datos. Vamos a hacer un ejemplo donde conectamos una base de datos Oracle que contiene las defunciones del año 2018 en México. Lo primero que tenemos que hacer es instalar el paquete RJDBC. install.packages("RJDBC")

Spark (parte 2)

Imagen
En el post pasado platicamos un poco por los antecedentes de Spark mostrando el primer estudio que se realizó comparando Spark con Hadoop . Otra aspecto en el cual Spark arroja resultados sorprendentes es la tarea del ordenamiento de datos, de tal manera que los autores del libro, mencionan que no hay otro sistema en el mundo más rápido que Spark (claro al momento que se escribió dicho libro, en esto de las Tecnologías de la Información todo es relativo). "Aunque Spark es bien conocido por su rendimiento en memoria, fue diseñado para ser un motor de ejecución general que funciona tanto en memoria como en disco. Por ejemplo, Spark ha configurado el ordenamiento de datos, para el cual los datos no se cargaron en la memoria; más bien, Spark realizó mejoras en la serialización y la  reorganización de la red, así como el uso eficiente de la caché de la CPU para mejorar drásticamente el rendimiento". (Luraschi et al, 2020) El libro detalla el poder de Spark contra Hadoop p

Spark (Parte 1)

Imagen
Spark y RMarkdown han sido mis novatadas de mi nueva responsabilidad en el Instituto, he instalado y desinstalado R y software adyacente en más de una veintena de ocasiones. En el caso de Spark considero que el principal problema es lo inestable de la red del trabajo, y cuando estaba en casa ocurrió un detalle con las famosas VPNs que se están usando durante esta pandemia. Bien, pero ¿Qué es Spark ?. Mis compañeros han investigado y conseguido bibliografía y aquí compartiré parte de esta. El libro se llama " Mastering with R " es un libro gratuito digitalmente y se puede comprar en formato físico también. Los autores son Javier Luraschi, Kevin Kuo y Edgar Ruiz. En la vida de profesionistas, estudiantes y docentes tenemos muchas cosas que leer, y a veces pasamos por alto secciones de libros que tienen datos interesantes. Uno de estos ejemplos es la introducción del libro, donde menciona como los humanos hemos generado información desde que los sumerios inventaron la escritur

Instalación de RMarkdown

Imagen
En una serie muy popular de televisión de mediados de los años 2000 (Glee), Sarah Jessica Parker actúa en algunos capítulos y dice que tenemos que reinventarnos varias veces en la vida para alcanzar el éxito o quizás no lo logremos pero se tienen que hacer intentos sin lugar a dudas. Felizmente pero con muchos retos a cuestas, ahora estamos aprendiendo aun más del lenguaje de programación R, ya que es una de las apuestas de mi nueva dirección. Tengo algunos artículos pasados donde detallo lo de R desde el mundo de las encuestas (paquete survey ) donde empezamos a gatear referente a este lenguaje de programación.  Ahora mi director hace una apuesta para que R aparte de sacar cifras, documente los procesos y los productos adyacentes creando archivos tales como páginas web, archivos de adobe e inclusive documentos de MSWord. Para ello existe el paquete RMarkdown. 

Los aprendizajes sobre la marcha (más sobre R)

Imagen
En las pasadas entregas estuvimos revisando la básica creación de cuadros con sus respectivas precisiones estadísticas en uno de los lenguajes de moda: R. No recuerdo haber programado en lenguaje que constara solo de una letra del alfabeto pero reconozco y en cierta forma me complanzco de que me lleva a mis primeros encuentros con el mundo de la programación, en nuestro querido CETis 155, ya que Basic en sus primeras versiones tenía la misma ventana interactiva que tiene R, y que nos permite experimentar ideas y pruebas de código. Con un par de cursos introductorios y la guía de compañeros del instituto hemos estado bregando y abonando nuevos conocimientos a este cerebro que hace unos meses llegó a los 50 años. Es por ello que aunque la máquina funciona a las maravillas es necesario que exista la "memoria secundaria", mis apuntes virtuales para cuando mi RAM falle en recordar alguna faena que he realizado con este lenguaje. En mi caso mi "piedra filosofal" es el