El servicio de Hadoop disponible a través del portal!
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
Hadoop en Windows Azure (VII): Hive
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.
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)
Una vez creada tabla podemos lanzar consultas usando HiveQL, por ejemplo: (Tutorial de Hive)
select * from weblog_sample limit 10;
Y claro está, usando los add-ins que comentábamos en post anteriores, por ejemplo el de Excel.
Continue Reading Comments Off
Hadoop en Windows Azure (VI): Sqoop
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.
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.
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>”
Continue Reading Comments Off
Hadoop en Windows Azure (V)
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.
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.
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.
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.
Continue Reading Comments Off
Hadoop en Windows Azure (IV)
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.
Una vez realizados estos dos pasos, si abrimos Excel, podemos ver el add-in de Hive.
Para poder realizar una conexión, primeramente es necesario crear un Data Source desde el panel de control, ODBC Data Source Administrator.
Hay que añadir un Data Source de tipo “HIVE” e incluir los datos del cluster al que queremos conectarnos.
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.
Y desde PowerPivot algo muy parecido.
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.
Continue Reading Comments Off



