Guardar trabajos en Sqoop (Sqoop-job)

El proceso de importación y exportación de datos en Sqoop puede ser un proceso muy repetitivo, y si bien es cierto, que los comandos de importación y exportación de Sqoop tienen varios parámetros que pueden resultar difícil de recordar o que cometamos algún error en la escritura lo que hace que nos demoremos en la ejecución de las tareas corrigiendo ese tipo de errores. Para ello Sqoop nos permite guardar trabajos, asignándoles un nombre para luego ejecutarlos directamente. Esto resulta de especial interés por ejemplo en la importación incremental, cuando realizamos el proceso repetidamente. (más…)

Generación de código en Sqoop

Cuando realizamos una importación desde un sistema RDBMS a Hadoop se realiza una generación de código, Sqoop crea una instancia de Java con la definición de los registros que se van a importar. Pero se puede dar el caso que queramos generar de forma independiente dicha instancia de Java, para ello utilizamos la herramienta codegen de Sqoop.Codegen es una herramienta de Sqoop que realiza la generación de código, genera clases de Java las cuales interpreta y encapsula los datos importados, pero no realiza una importación de los datos. Sqoop examina la tabla de la base de datos origen para determinar los tipos de datos adecuados. Esta generación de código es útil en el caso que perdamos por algún motivo la instancia de Java creada durante la importación, cambie la especificación de los registros de la tabla origen o bien porque usemos un delimitador de campo diferente, para estos casos, nos interesará realizar la generación de código.

(más…)

Apache Hive en HDInsight: Primeras consultas (queries) HiveQL (II)

Apache Hive en HDInsight: Primeras consultas (queries) HiveQL (II)

En publicaciones anteriores hemos creado la BBDD de Hive para almacenar datos, y hemos cargado datos en HDInsight (HDI) además de crear la tabla externa que hace referencia a los archivos cargados.Recapitulando información de la Introducción a Hive, debemos recordar que el objetivo que se persigue con Hive es:

  • Utilizar un lenguaje parecido al SQL tradicional (HiveSQ).
  • Mediante este lenguaje ejecutar trabajos Map&Reduce sobre el data almacenado.

A continuación vamos a ejecutar consultas con la herramienta de línea de comando y analizaremos el comportamiento.

(más…)

Apache Hive en HDInsight: Primeras consultas (queries) HiveQL

Apache Hive en HDInsight: Primeras consultas (queries) HiveQL

En publicaciones anteriores hemos creado la BBDD de Hive para almacenar datos, y hemos cargado datos en HDInsight (HDI) además de crear la tabla externa que hace referencia a los archivos cargados.Recapitulando información de la Introducción a Hive, debemos recordar que el objetivo que se persigue con Hive es:

  • Utilizar un lenguaje parecido al SQL tradicional (HiveSQ).
  • Mediante este lenguaje ejecutar trabajos Map&Reduce sobre el data almacenado.

A continuación vamos a ejecutar consultas con la herramienta de línea de comando y analizaremos el comportamiento.

(más…)

Introducción Sqoop en HDInsight

Introducción Sqoop en HDInsight

El punto fuerte de la plataforma Hadoop es la posibilidad de trabajar con datos en diferentes formatos. Por lo general, en las organizaciones los datos se almacenan de forma estructurada en sistemas de bases de datos relacionales (RDBMS) o datawarehourse. Apache Sqoop es una herramienta que nos permite extraer información de un sistema estructurado (como por ejemplo SQL Server, MySQL o Oracle) y almacenarlo en HDFS (Hadoop Distributed File System) para sea procesada posteriormente. El procesamiento se puede hacer mediante programas de MapReduce o mediante otras herramientas como Hive. Una vez hemos explotado los datos y obtenido los resultados necesarios, podemos exportar dichos resultados a una base de datos relacional para presentarlos a usuarios finales. Además, Sqoop está integrado con Oozie, que permite la programar y automatizar tareas de importación y exportación. (más…)
Apache Hive en HDInsight: Creación de tablas y carga de datos básica

Apache Hive en HDInsight: Creación de tablas y carga de datos básica

Hive es un datawarehouse que ayuda a acceder (leer, escribir y borrar) a información almacenada en Hadoop. Hadoop utiliza como sistema de almacenamiento HDFS. En el caso concreto de HDInsight, Microsoft ha reemplazado el almacenamiento HDFS por almacenamiento Windows Azure Blob Storage (WASB). En esta publicación, hemos visto de forma cómo reemplaza HDInsight el almacenamiento de HDFS por WASB.  Una de las “quejas” que suele tener la comunidad de Hadoop respecto al almacenamiento HDFS es la complejidad de su administración. Viendo la filosofía que propone Microsoft en Azure con la virtualización del almacenamiento, es muy práctico delegar en Microsoft para la gestión eficiente del almacenamiento. Considera que en tus proyectos de Big-Data, el almacenamiento será una ubicación donde se irán colocando los archivos objeto de análisis. Más información sobre los razonamientos de Microsoft al respecto lo puedes encontrar aquí. (más…)