En este post vamos a explicar como podemos acceder a Hadoop Azure, en concreto a una tabla que está almacenada en el cluster de Hadoop Azure, a través de Hive desde Excel 2010.
- Se nos mostrará un cuadro de diálogo, el cual deberemos rellenar con los siguientes datos (ver Figura 4):
- Hacemos click en el botón Enter Cluster Details…
- Hacemos click sobre Hive Pane, y en la parte derecha se mostrará un panel para acceder a Hive de nuestro cluster Hadoop Azure.
- Una vez instalado el plugin, abrir Excel 2010. En la pestaña Data, tenemos el acceso a Hive (ver Figura 2).
- Para poder acceder desde Excel, necesitamos tener instalado el plugin de Hive. Hacemos click en Downloads, nos descargamos e instalamos el plugin a nuestra máquina local, bien el de 32 bits o el de 64 bits, según el que se ajuste a cada caso.
- Volvemos a la pantalla de Inicio del cluster.
- En la parte inferior, escribimos una consulta, por ejemplo “Select * From hivesampletable”, y hacemos click en Evaluate. En la cuadro central veremos todas las filas resultantes de la ejecución de la consulta.Esta es una forma de acceder a los datos que tenemos almacenados en el cluster, pero vamos ahora a explicar como acceder desde Excel
- Hacemos click en la lista desplegable tables para ver las tablas que tenemos almacenadas. Veremos que tenemos una llamada hivesampletable.
- En la pantalla de Interactive Console, hacemos click sobre el botón situado en la esquina superior derecha Hive. A través de esta interfaz podremos realizar consultas a las tablas hive que tengamos almacenadas.
- Podemos realizar una consulta a través de Hive, a los datos datos que tenemos en el cluster. Para ello vamos hacemos click en Interactive Console.
- Para poder acceder al cluster a través de Excel, debemos abrir el puerto ODBC. Para ello, haccemos click en “Open Ports”, y hacemos click sobre On en ODBC. Volvemos a la pantalla de Inicio.En la pantalla de Inicio, veremos algo similar a la Figura 1.
- El primer paso es acceder al cluster que hemos creado.
- Description: Nombre de la conexión, podemos establecer el que consideremos oportuno.
- Host: Nombre del cluster que hemos creado en Hadooponazure (lo obtenemos de la pantalla de inicio del cluster Hadoop en Azure).
- Usuario: Nombre de usuario que utilizamos al crear el cluster
- Password: Contraseña que utilizamos al crear el cluster.
- Hacemos click en Ok.
- Ahora veremos sobre el panel de la izquierda, las tablas que contiene el datawarehouse almacenado en Hive. En nuestro caso sólo disponemos de una tabla de ejemplo llamada hivesampletable (que es la misma que hemos accedido desde la consola interactiva de Azure). La seleccionamos de la lista desplegable y podremos acceder a todos los campos de dicha tabla. Seleccionamos los campos que queramos ver en la hoja de Excel y hacemos click sobre Execute Query, veremos entonces todos los datos de nuestra sobre la hoja de Excel. (ver Figura 5)
- Al igual que en las consultas T-SQL, podemos establecer retricciones y condiciones en las consultas. Para ello, se utiliza una sencilla interfaz que no son necesarios conocimientos de SQL para ejecutar la consulta. En la Sección Criteria, podemos establecer condiciones a la hora de hacer nuestra consulta, esto esquivaldría al WHERE de una consulta SQL tradicional. Seleccionamos en Column Name la columna clientid, en Operator seleccionamos = y finalmente en Value escribimos 28. Hacemos click en Execute Query, y efectivamente vemos como resultado sólo los clienteid igual a 28.
Podemos establecer otras restricciones a la consulta, como por ejemplo:
- Aggregate Grouping: Agrupa la consulta por los campos que queramos, equivale al Group By en una setencia SQL tradicional.
- Ordering: Agrupa el resultado de la consulta por los campos que queramos, equivale al Order By en una setencia SQL tradicional.
- Limit Rows/Sample Data: se puede limitar el número de filas que mostrará la consulta
- HiveQL: muestra el código de la consulta, según los criterios que hayamos establecidos en las secciones anteriores.
Volveremos con más post de almacenamiento de datos en Hadoop Azure 🙂