En al anterior post vimos cómo podíamos importar datos desde DataMarket. Me encontré con un error cuando importaba los datos desde DataMarket, el cual voy a explicar en este post a qué se debe.

El procedimiento para importar los datos desde DataMarket es trivial al explicado en el anterior post, pero en este caso vamos a elegir importar los datos de UK Met Office Weather Open Data.

Realizamos el mismo proceso para obtener los datos en el DataMarket, y rellenamos los datos en Import From Data Market de nuestro cluster. (ver Imagen 1).

Imagen1: Importación datos desde data market
Imagen1: Importación datos desde data market

Una vez ha finalizado el proceso, veremos la pantalla que la operación ha finalizado con éxito.

 

Imagen 2: Importacion finalizada con éxito
Imagen 2: Importacion finalizada con éxito

Ahora intentamos acceder a los datos a través de la consola interactiva de Hive de nuestro cluster, o bien desde Excel 2010, pero nos damos cuenta que los datos no se han importado. ¿Qué ha ocurrido entonces? Vamos a explicar paso a paso qué ha ocurrido y qué hacer para solucionar este problema.

  1. En la pantalla de Inicio del cluster Hadoop Azure, hacemos click en Remote Desktop y nos conectaremos al cluster mediante escritorio remoto.
  2. En el escritorio tendremos un acceso directo de Internet Explorer para acceder a MapReduce, hacemos doble click sobre el acceso directo.
  3. En la esquina inferior izquierda de la página principal de MapReduce, hacer click en Log.
  4. Abrir el log que corresponda con DataLoader.exe-RD…log
  5. Ahora podremos analizar el log, y efectivamente encontramos el siguiente error (ver Imagen 3)
    Imagen 3: Log de las tareas realizas en el cluster.
    Imagen 3: Log de las tareas realizas en el cluster.

    La parte señada con azul, está indicando que se ha producido un error, la tabla que hemos importado contiene un campo llamado “Date”, y “Date” corresponde con una palabra reservada dentro de Hadoop Azure, por lo que al crear la tabla en el cluster se produce el error. Es cierto, que es contradictorio, porque al importar los datos no obtuvimos ningún mensaje de error, pero internamente si que ha fallado el proceso. Esperemos que en futuras versiones, corrijan este error.

    Ahora que ya sabemos donde está el error, ¿qué hacer para solucionarlo?

    En el log vemos la consulta que ha sido resultante del error y se puede apreciar el campo con nombre Date, ver imagen 4

    Imagen 4: Consulta que ha resultado error.
    Imagen 4: Consulta que ha resultado error.
  6. Copiamos la consulta señalada en la Imangen 4, y volvemos a la página web donde tenemos abierto el cluster de Hadoop Azure.
  7. Hacemos click en Interactive Console
  8. Click en el botón superior derecho de Hive, y pegamos en la sección de abajo la consulta.
  9. El campo Date, lo cambiamos por “DateFecha” (o algún otro nombre que queramos).
  10. Hacemos click en Evaluate
  11. Una vez ha ejecutado la sentencia, nos indicará que se la realizado correctamente (ver Imagen 5).
    Imagen 5: Ejecutar consulta
    Imagen 5: Ejecutar consulta

    Una vez ya hemos creado la tabla correctamente, podemos acceder a través de la consola interactiva de Hive a la tabla creada, como muestra la Imagen 6.

    Imagen 6: consulta a la tabla creada
    Imagen 6: consulta a la tabla creada

Como ya hemos mencionado, se trata de un error, que contradice el proceso con el resultado obtenido, si os pasa con alguna importación de datos, revisad los logs que seguramente ahí esté el error.

 

0 Shares:
Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

You May Also Like

Operador unario y jerarquías padre-hijo en SSAS MD

Recientemente nos hemos visto involucrados en un proyecto SSAS Multidimensional en el que existía una dimensión de cuentas padre-hijo bastante compleja y con un operador unario por en medio. Es por esto que nos hemos decidido a describir brevemente la implementación por defecto de SSAS y la que utilizamos finalmente para mejorar el rendimiento.

Expresiones, parámetros y funciones en Azure Data Factory

Hay ocasiones, cuando estamos construyendo pipelines con Azure Data Factory, que queremos repetir patrones para extraer y procesar la información cambiando de manera dinámica, en tiempo de ejecución, valores, orígenes/destinos de los datasets, incluso los mismos linked services. Esto es posible mediante el uso de parámetros, expresiones y funciones. Vamos a ver cómo implementarlo con un ejemplo práctico en el que se nos plantea el siguiente supuesto. Se nos ha pedido que extraigamos todos los días los datos del día anterior de distintas tablas del DW a ficheros en un blob storage que además se nombre como la tabla de origen. Si no pudiéramos utilizar contenido dinámico tendríamos que crear dos datasets (uno de origen y otro de destino) y añadir una actividad de copia por cada tabla a exportar.

Cómo refrescar un dataset de Power BI al finalizar el proceso de ETL

Power BI dispone de ciertas herramientas de administración: APIs administrativas, un SDK .NET y un módulo de PowerShell con cmdlets que permiten a los administradores ir más allá de lo que el portal de Power BI Admin ofrece. Vamos a ver las diferencias entre la API y los cmdlets y después mostraremos cómo usarlos en un caso práctico: resfrescar el dataset tras un evento, en este caso al finalizar la carga del datawarehouse.