El servicio de Hadoop disponible a través del portal!

Written by Ibon Landa on March 18th, 2013. Posted in Hadoop

Aunque ya estaba desde hace tiempo en preview privada, hoy mismo se ha anuncia la preview de este servicio de Hadoop a través del portal de administración de Windows Azure.

Al estar en preview, es necesario solicitar acceso a la preview para poder probarlo!

Yo ya he solicitado acceso! Solicitar acceso

hadooppreview

LinkedInMessengerShare

Hadoop en Windows Azure (VII): Hive

Written by Ibon Landa on April 20th, 2012. Posted in Hadoop

Como ya hemos comentado en algún post anterior Hive es una infraestructura de data warehouse sobre Hadoop diseñada inicialmente para ser capaces de entender toda la información de Facebook. Ofrece una interface SQL (HiveQL) para ser capaz de manejar la información almacenada por Hadoop.

También en un post anterior vimos el add-in de Hive que ha desarrollado Microsoft y que permite conectarse a las tablas de Hive desde Excel, PowerPivot o PowerView.

En este post veremos un ejemplo muy sencillo de cómo crear una tabla de Hive y cómo usar HiveQL para consultar la información.

En este caso cargaré un weblog, que no es más que un fichero de texto. Para cargarlo, como ya vimos anteriormente, podemos hacerlo desde la consola de JavaScript con fs.put o por FTP.

01-HiveQL

Una vez cargado podemos usar la consola interactiva de Hive para lanzar comandos de HiveQL, el primero para crear la tabla asociada al fichero recién cargado: (El comando show tables nos permite ver las tablas existentes)

CREATE EXTERNAL TABLE weblog_sample (
evtdate STRING,
evttime STRING,
svrsitename STRING,
svrip STRING,
csmethod STRING,
csuristem STRING,
csuriquery STRING,
svrport INT,
csusername STRING,
cip STRING,
UserAgent STRING,
Referer STRING,
scstatus STRING,
scsubstatus STRING,
scwin32status STRING,
scbytes STRING,
csbytes STRING,
timetaken STRING
)
COMMENT ”This is a web log sample”
ROW FORMAT DELIMITED FIELDS TERMINATED by ”32”
STORED AS TEXTFILE
LOCATION ”/user/ibonilm/weblog/”; (ruta del fichero)

03-HiveQL

 

Una vez creada tabla podemos lanzar consultas usando HiveQL, por ejemplo: (Tutorial de Hive)

select * from weblog_sample limit 10;

04-HiveQL

Y claro está, usando los add-ins que comentábamos en post anteriores, por ejemplo el de Excel.

05-HiveQL

LinkedInMessengerShare

Hadoop en Windows Azure (VI): Sqoop

Written by Ibon Landa on April 18th, 2012. Posted in Hadoop

Como ya hemos comentado en un post anterior, Sqoop es un framework open source que permite exportar e importar datos desde cualquier RDBMS y HDFS, y como no, el origen puede ser SQL Server o SQL Azure.

Estas acciones se puede realizar desde línea de comandos, conectándose directamente a la máquina de Hadoop por RDP.

01-Sqoop

Una vez conectados podemos abrir la consola de Hadoop para lanzar los comandos necesarios para importar datos desde una base de datos de SQL Azure.

02-Sqoop

Se establece la variable HIVE_HOME y se lanzan los comandos que queramos, ya está!

Importar desde SQL Azure a HDFS

binsqoop.cmd import –connect “jdbc:sqlserver://<servername>.database.windows.net:1433;database=<dbname>;user=<username>@<servername>;password=<password>” –table <from_table> –target-dir <to_hdfs_folder> –split-by <from_table_column>

Exportar desde HDFS a SQL Azure

binsqoop.cmd export –connect “jdbc:sqlserver://<servername>.database.windows.net:1433;database=<dbname>;user=<username>@<servername>;password=<password>” –table <to_table> –export-dir <from_hdfs_folder> –input-fields-terminated-by “<delimiter>”

LinkedInMessengerShare

Hadoop en Windows Azure (V)

Written by Ibon Landa on April 16th, 2012. Posted in Hadoop

Siguiendo con los post de Hadoop en Windows Azure, en este ejemplo veremos un ejemplo de cómo contar el número de ocurrencias de las palabras dentro de un fichero de texto. Éste es uno de los ejemplos que se pueden encontrar dentro del servicio y que nos ayudan a empezar a entender poco a poco cómo funciona el servicio y Hadoop.

A través de la consola interactiva que ofrece el portal web y usando JavaScript, podemos realizar todas las labores que se realizan durante este ejemplo.

01-WordCloud

El primer paso a realizar será subir el fichero que queremos analizar, sobre el cuál contaremos el número de palabras que contiene.

En este caso lo hacemos desde JavaScript (fs.put() ), pero podríamos haber utilizado otros medios, como FTP.

04-WordCloudJarFile

Una vez tenemos el fichero cargado tenemos que crear un job de mapReduce para realizar la tarea que queremos. En este caso lo haremos todo desde la consola de JavaScript, pero recordad que hay otras opciones, por ejemplo desde Java o desde C#.

El siguiente paso será subir el fichero javascript que contiene nuestra rutina de mapReduce. En el siguiente pantallazo podéis ver el contenido del fichero WordCount.js.

05-WordCloudJarFile

Y una vez tenemos disponible el fichero podemos usar una sentencia de Pig para decirle que queremos lanzar el job de mapReduce contra el fichero que hemos subido anteriormente y que el resultado lo deje en el fichero DaVinciTop10Words. Como podéis ver, sólo se obtienen 10 resultados, lo que más ocurrencias tienen.

> pig.from("/example/data/davinci.txt").mapReduce("WordCount.js", "word, count:long").orderBy("count DESC").take(10).to("DaVinciTop10Words")

Esta operación tardará unos minutos (podemos ver un log del proceso). Una vez haya terminado,podremos leer el fichero de resultados y mostrarlo,por ejemplo, en formato de gráfica.

06-WordCloudJarFile

07-WordCloudJarFile

LinkedInMessengerShare

Hadoop en Windows Azure (IV)

Written by Ibon Landa on April 12th, 2012. Posted in Hadoop

Siguiendo con la temática de los últimos post en este comentaré cómo es posible consumir la información de Hive desde Excel y PowerPivot.

El primer paso es instalarse todo lo necesario para poder trabajar desde Excel y disponer del drive ODBC que nos de acceso a los datos. Para ello, dentro del portal de Hadoop tenemos una seccion “Downloads” dónde podremos descargarnos el componente que necesitamos en nuestro equipo.

El siguiente paso será habilitar los puertos de Hadoop para permitir conexiones ODBC.

01-ConfigurePort

Una vez realizados estos dos pasos, si abrimos Excel, podemos ver el add-in de Hive.

02-HivePanel

Para poder realizar una conexión, primeramente es necesario crear un Data Source desde el panel de control, ODBC Data Source Administrator.

03-ODBC

Hay que añadir un Data Source de tipo “HIVE” e incluir los datos del cluster al que queremos conectarnos.

04-ODBC

Una vez hemos creado el Data Source, seleccionando el botón de “Hive”, podemos ver un panel en la parte derecha de nuestra hoja excel que permitirá selecciona el Data Source y realizar las consultas que queremos; seleccionar los objetos, la información que queremos ver etc…Ya está, ya estamos consumiendo información desde nuestro cluster de Hadoop.

06-Excel

Y desde PowerPivot algo muy parecido.

07-FromPowerPivot

Si accedemos a PowerPivot se puede añadir (seleccionar from other sources) un Data Source OLEDB/ODBC, dónde básicamente tendremos que indicar los datos de conexión al cluster de Hadoop.

08-FromPowerPivot

09-FromPowerPivot

10-FromPowerPivot

11-FromPowerPivot

LinkedInMessengerShare