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.

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

Ibon Landa

bon Landa lleva más de 15 años dedicado al desarrollo de software. Durante este tiempo ha trabajado en diferentes empresas en las cuáles ha podido trabajar en diferentes entornos y tecnologías. Actualmente está focalizado principalmente en tareas de desarrollo, arquitectura, en las herramientas del ciclo de vida y en todo lo relacionado con la plataforma de Cloud Computing Microsoft Azure, área en el que ha sido reconocido como MVP. Participa de forma activa en la comunidad, escribiendo su blog, manteniendo un portal sobre Microsoft Azure y colaborando con Microsoft y grupos de usuarios en eventos de formación, talleres y giras de producto.

Deja un comentario

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