hive_logo_mediumsqoop-logo

En el capítulo anterior de Sqoop, veíamos como llevar a cabo una importación y exportación de datos desde SQL Azure hacia y desde Hadoop, concretamente desde y hacia su sistema de ficheros HDFS. Pues bien, en esta ocasión, veremos como conseguir esta importación directamente hacia Hive.

1) Importación de datos desde SQL Azure hacia Hive:

1) Creamos una vez más el alias para que Sqoop entienda la tabla, sin embargo, en este caso, no puede tener ningún “punto”, en cuyo caso Sqoop no será capaz de crear la tabla en Hive.

CREATE SYNONYM [hivecustomer] FOR SalesLT.Customer

2) Ejecutamos la siguiente instrucción:

sqoop import

--connect "jdbc:sqlserver://<SQLZAURE-SERVERNAME>.database.windows.net;database=AdventureWorksLTAZ2008R2"

--username  jlguerrero@<SQLZAURE-SERVERNAME>

-P

--table hivecustomer

--hive-import

--hive-overwrite

-m 1

Donde:

  • -–hive-import, permite la importación directamente hacia Hive. En caso de que la tabla “hivecustomer” no exista esta será creada.
  • –hive-overwrite, sobreescribe la tabla “hivecustomer” si ya existe en  Hive.

image

3) Desde la consola de Hive podremos comprobar que se ha creado la tabla “hivecustomer” y se han cargado todo los datos: “select * from hivecustomer;

Nota: Para más detalle sobre Sqoop, siempre podemos consultar la guía de usuario, http://sqoop.apache.org/docs/1.4.0-incubating/SqoopUserGuide.html, donde podremos profundizar todo cuanto queramos.

En el post anterior comentaba que este nuevo capítulo íbamos a ver la exportación desde Hive hacia SQL Azure, no obstante, rectifico, puesto que en dicho sentido la exportación, a día de hoy aún no es posible. Perdonad, actualizo el post debidamente.

Hasta aquí y tras unos cuantos posts, ya tenemos toda la información que necesitamos en Hive. Obtenida desde SQL Azure, de Azure Storage según comentamos en este post (HiveQL), y  desde HDFS, sólo nos queda comenzar a explotar la misma como si de un único repositorio se tratara. Eso sí, esto será en un nuevo capítulo, por el momento continuaremos conociendo otros componentes de Hadoop On Azure.

Aunque este post ha sido algo más corto que de costumbre, espero que no menos interesante.

Saludos

Juan Luis Guerrero