Como comentamos en el post anterior, Sqoop nos permite la transferencia de datos entre bases de datos relacionales (RDBMS) y Hadoop. En este post vamos a explicar como conectar SQL Server 2012 con Sqoop.Por defecto, Sqoop no viene instalado en HDInsight, por lo que debemos realizarla nosotros, pero se trata de un proceso muy sencillo que ahora veremos.

Antes que nada, la distribución de Sqoop disponible para descarga está en formato tar.gz, por lo que debemos tener instalada en la máquina un programa del tipo WinRar o 7-Zip para poder descomprimir ese tipo de archivo.

Instalación Sqoop 1.4.4

En primer lugar nos descargamos Sqoop de la página de Apache , el paquete de la distribución de Sqoop. Nos descargaremos la última versión release disponible de hasta la fecha que se trata de la versión 1.4.4. Descargar  de este enlace. Debes fijarte que versión de Hadoop hay instalada en el cluster, y descargar la versión de Sqoop acorde con la versión de Hadoop. Vamos a ver paso a paso como instalar Sqoop en el cluster HDInsight.

  1. Descargar el paquete tar.gz que corresponda y guardarlo en C:Hadoop.
  2. Una vez descargado acceder a C:Hadoop y sobre la carpeta comprimida que acabas de descargar Sqoop-1.4.4.bin_hadoop-x.xx.tar.gz, hacer click botón derecho y click en Extraer aquí…
  3. De tal modo que la jerarquía de carpetas quedaría de esta forma C:Hadoopsqoop-1.4.4.bin__hadoop-0.23
  4. Para una mayor claridad podemos renombrar la carpeta sqoop-1.4.4.bin__hadoop-0.23 a sqoop-1.4.4

Hasta aquí la instalación de Sqoop en el cluster de HDInsight!

Instalación Microsoft JDBC Driver 4.0

Para conectar Sqoop con SQL Server debemos hacerlo a través del driver JDBC, por lo que, debemos descargar e instalar el driver Microsoft JDBC Driver 4.0 for SQL Server. Vamos a ver el proceso paso a paso:

  1. Descargar el driver Microsoft JDBC Driver 4.0 for SQL Server
  2. Descomprimir, el archivo descargado, en la siguiente ruta:  C:Program FilesMicrosoft SQL Server JDBC Driver 4.0
  3. Copiar el archivo sqljdbc4.jar ubicado aquí:  C:Program FilesMicrosoft SQL Server JDBC Driver 4.0sqljdbc_4.0enu
  4. Y pegamos el archivo en las siguientes rutas:
    1. C:Hadoopjavalib
    2. C:Hadoophadoop-x.x.x-SNAPSHOTlib
  5. Copiar el archivo sqljdbc_auth.dll ubicado en:  C:Program FilesMicrosoft SQL Server JDBC Driver 4.0sqljdbc_4.0enuauthx64
  6. Y pegamos el archivo en la ruta: C:Hadoopjavajrebin

Una vez hechos estos pasos ya está todo listo para conectar Sqoop con SQL Server. Vamos a realizar una prueba de conexión y ver que se realiza exitosamente.

En el cluster de HDInsight, abrir Hadoop Command Console. Escribir el siguiente comando para acceder a la carpeta donde está instalado Sqoop: cd C:HadoopSqoop-1.4.4bin

Mostrar bases de datos existentes en SQL Server a través de Sqoop: list-databases

Para comprobar que tenemos acceso al servidor de SQL Server, vamos a ejecutar el comando list-databases de Sqoop y ver que efectivamente podemos conectarnos al servidor y mostrar un listado con las bases de datos existentes en SQL Server. El comando sería el siguiente, debéis sustituir NOMBRESERVIDOR por el nombre de vuestro servidor y NOMBREINSTANCIA por el nombre de la instancia de vuestro SQL Server, y tener en cuenta que en este caso estamos utilizando autenticación de Windows.

sqoop list-databases --connect "jdbc:sqlserver://NOMBRESERVIDORNOMBREINSTANCIA:1433;integratedSecurity=true"

El resultado después de la ejecución sería el mostrado en la siguiente imagen:

image_thumb_3624F819

En caso que el servidor de SQL Server tenga autenticación SQL Server, la sentencia sería:

sqoop list-databases –connect “jdbc:sqlserver://NOMBRESERVIDORNOMBREINSTANCIA:1433;username=Yolanda;password=123456”

Nota: En caso que obtengas este mensaje de error: “The TCP/IP connection to the host NOMBRESERVIDOR, port 1433 has failed”. Revisa la siguiente configuración:

Abre  SQL Server Configuration Manager. Y accede a SQL Server Network Configuration –> Protocols for MSSQLSERVER. Comprueba que el protocolo TCP/IP está como Enabled. En caso que esté Disabled, click botón derecho y Enable.

Post relacionados:

Introducción Sqoop en HDInsight

 

0 Shares:
Deja una respuesta

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

You May Also Like