sql >> Base de Datos >  >> RDS >> Database

Cargue documentos en Azure Data Lake y exporte datos mediante SSIS

Introducción

Azure está creciendo todos los días. Microsoft creó Azure, que es un servicio de Cloud Computing lanzado en 2010.

Según Microsoft, el 80 % de las empresas de Fortune 500 utilizan Azure. Además, el 40 % de los ingresos de Azure proviene de empresas emergentes y proveedores de software independientes. El 33 % de las máquinas virtuales de Azure usan Linux. Microsoft espera ganar $20 mil millones en 2018.

Es por eso que las empresas están migrando parte de los datos a Azure y, en ocasiones, todos los datos.

Azure Data Lake es un almacenamiento especial para analizar Big Data en paralelo en Azure. Está optimizado para análisis. Puede almacenar datos de redes sociales, correos electrónicos, documentos, información de sensores, información geográfica y más.

Si solo desea almacenar datos, Azure Blob Storage es suficiente. Si desea analizar los datos, Data Lake es la mejor opción porque está diseñado para informes.

El Data Lake Store generalmente se analiza con Cortana Analytics Suite, Power BI, SSIS es una herramienta conocida y popular para migrar datos. En este nuevo artículo, mostraremos cómo usar SSIS para migrar datos a Azure. También mostraremos cómo exportar datos desde un archivo .txt en Azure Data Lake Store a SQL Server local.

Si no tiene ninguna experiencia en Azure, pero tiene experiencia con SSIS. Este artículo es para ti.

Seguiremos estos pasos para importar los datos en Azure Data Lake:

  1. Instalar el paquete de funciones de SSIS para Azure
    De forma predeterminada, no puede conectarse a Azure Data Lake Store. Es necesario instalar el paquete de funciones para Azure en los proyectos SSIS.
  1. Cree un Azure Data Lake Store (ADLS) en Azure Portal
    Si no tiene un Azure Data Lake Store, deberá crear uno nuevo. Crearemos una carpeta en este ADLS e importaremos los datos desde una carpeta local aquí.
  1. Crear un registro de aplicación
    En Azure Portal, en las opciones de Azure Active Directory (AAD), hay una opción para el registro de aplicaciones. Utilizaremos una aplicación de registro para acceder a la ADLS.
  1. Asignar permisos a ADLS
    En ADLS en el Explorador de datos, debe otorgar acceso al registro de la aplicación.
  1. Exportación de archivos a ADLS con SSIS
    Con la tarea ADLS para SSIS en SSDT, puede exportar los datos de un archivo local a SSIS. Para ello, necesita la URL de ADLS, el ID de la aplicación del registro de la aplicación y la clave del registro de la aplicación.
  1. Verificar los resultados
    Finalmente, en Azure Portal, vaya a ADLS, Data Explore y verifique que los archivos se hayan copiado correctamente.

Requisitos

Se requiere el siguiente software para este artículo:

  1. SSIS instalado (incluido con el instalador de SQL Server)
  2. Herramientas de datos de SQL Server (SSDT) ​​instaladas
  3. Una cuenta de Azure
  4. El paquete de características de SSIS para Azure

Empezar

1. Instale el paquete de funciones de SSIS para Azure
Existe un Feature Pack gratuito para SSIS que incluye tareas para conectarse a Azure. El paquete de características de SSIS debe estar instalado. Este paquete incluye varias tareas para trabajar con Big Data en Azure (HDInsight), Azure Blob Storage, Azure Data Lake Store, Azure Data Warehouse y más:

El instalador es un 29 MB. Existe una versión para 32 y 64 bits.

2. Cree un Azure Data Lake Store (ADLS) en Azure Portal
También necesitará una suscripción a Azure. Hay ediciones de prueba para los novatos que quieren aprender esta nueva tecnología. Crearemos un Azure Data Lake Store. Un Data Lake Store es donde almacena sus datos en Azure para análisis. Inicie sesión en Azure Portal y vaya a más servicios (>) y en el cuadro de texto de búsqueda escriba Data Lake Store. Seleccione la tienda del lago de datos:

Asumo que aún no tiene un Data Lake Store, por lo que crearemos uno nuevo presionando el ícono + Agregar:

Especifique un nombre para el Data Lake Store. El grupo de recursos es para administrar varios recursos de Azure en grupos. La ubicación es para especificar la ubicación más cercana a usted. Se puede pagar por consumo. El precio ronda los 0,39 USD por GB. Cuanto más TB, más barato es. También hay cargos por operaciones de lectura y escritura (10 000 operaciones de escritura por $0,05 y 10 000 operaciones de lectura por $0,004).

Una vez creado, haga clic en Data Lake Store:

Para crear carpetas y agregar archivos, vaya al Explorador de datos:

Cree una nueva carpeta. Subiremos archivos a esta carpeta. Asigne un nombre y presione OK:

3. Crear un registro de aplicación
Crearemos un registro de App para acceder a Data Lake. En el registro de la aplicación, registra su aplicación y se le asigna una identificación de la aplicación y una clave. Para hacer eso, debemos ir a Más servicios>Directorio activo:

Vaya a Registros de aplicaciones:

Agrega un nombre. El tipo de aplicación es aplicación web/API (la predeterminada). La URL puede ser cualquier URL de su preferencia:



Haga clic en la aplicación que acaba de crear:


Para conectarse a Azure Data Lake Store, necesita el ID de la aplicación:

En el registro de la aplicación, vaya a claves. Cree una nueva clave y asigne una duración de caducidad para la clave. Copie y pegue el valor en algún lugar. Este valor será necesario para conectarse a Azure Data Lake Store:

Vaya a Data Lake Store y copie la URL en la sección Información general. Esta información también es útil para conectarse mediante SSIS:


4. Asignar permisos a ADLS
Otorgaremos permisos a nuestros registros de aplicaciones. Estos permisos permitirán acceder a ADLS. Vaya al Explorador de datos:

Presione la opción Acceso para agregar el Registro de la aplicación:


Presione +Agregar opción para agregar el registro de la aplicación:

En el cuadro de texto, escriba AppService y presione el botón Seleccionar:


Asigne permisos de lectura, escritura y ejecución. Puede agregar permisos a la carpeta y la carpeta y todos los niños.

También puede asignar acceso, permisos predeterminados y ambos:

5. Exportación de archivos a ADLS con SSIS
En SSDT, cree un proyecto SSIS. Si instaló el paquete de características para Azure, podrá ver la tarea del sistema de archivos de Azure Data Lake Store. Arrastre y suelte esta tarea en el panel de diseño:

Haga doble clic en la tarea del sistema de archivos del almacén de Azure Data Lake. Hay 2 operaciones posibles. Para copiar desde Azure Data Lake (ADL) o para copiar a ADL. En este ejemplo, copiaremos desde un archivo local a ADL. En la fuente, usaremos la carpeta c:\sql, tendremos algunos archivos locales para copiar a ADL. En AzureDataLakeDirectory, usaremos la carpeta compartida. Esta carpeta se creó en ADL Store en pasos anteriores. AzureDataLakeConnection se explicará más adelante. Vive la caducidad del archivo (esta opción se usa para especificar cuándo caducan los archivos):

En AzureDataLakeConnection, seleccionaremos la opción Nueva Conexión para crear una nueva:

En la conexión, necesita el host ADLS. Esta es la URL cuando accede a la sección Información general de ADLS en el portal. En Autenticación, usaremos una Identidad de servicio de Azure AD. Esta opción utiliza el registro de aplicaciones creado en Azure.

El ID de cliente es el ID de la aplicación del registro de la aplicación. Puede encontrar esta información en la sección Registro de aplicaciones de Azure AD.

La clave secreta se puede encontrar en el portal en Registro de aplicaciones en Azure AD en la sección de claves. Puede crear una clave y usar el valor en esta sección.

El nombre del arrendatario es el nombre del dominio de Azure AD (explicaremos el dominio de Azure).

Presiona la conexión de prueba para verificar que todo está bien. Una vez que esté bien, presione OK:

Si no conoce su dominio (Nombre del Inquilino), puede verificar haciendo clic en la sección superior derecha del Portal.


Puede ejecutar el paquete SSIS para exportar los datos a ADLS. En este ejemplo, tenemos 3 archivos en la carpeta local.

6. Verificar los resultados
Si todo está bien, en Azure Portal, vaya a ADLS y vaya a Explorador de datos. Vaya a la carpeta compartida y verifique los archivos allí. Podrás ver los 5 archivos copiados.


Exportar datos de Data Lake a SQL Server local

En la segunda parte, exportaremos datos almacenados en Azure Data Lake a SQL Server local. Arrastre y suelte una tarea de flujo de datos:

Haga doble clic en la tarea Flujo de datos y arrastre y suelte el origen del almacén de Azure Data Lake y el destino de SQL Server. Conecta ambas tareas. Haga doble clic en Azure Data Lake Store Origen:

Seleccione la Conexión ADLS creada en la primera parte del artículo. En la ruta, especifique la ruta ADLS (carpeta/nombre de archivo). En este escenario, el formato de archivo es texto y el delimitador es una coma:

En columnas, puede ver las columnas. Si no hay columnas. Se crean encabezados de columna predeterminados:

Haga doble clic en Destino de SQL Server. Presione Nuevo para crear un administrador de conexión:

Cree una nueva conexión. Especifique el nombre de SQL Server, la autenticación y la base de datos donde desea almacenar los datos:

En tabla o vista, presione Nuevo para crear una nueva tabla:



Por defecto, tendrá el siguiente código T-SQL:

Cambie el código para especificar un nombre de tabla y dar nombres de columna:

CREATE TABLE [smartphones] (

    [ID] int,

    Brand nvarchar(100),

    Version nvarchar(100)

)

Vaya a la página Mappings y asigne Prop_0 a ID, Prop_1 a Brand, Prop_2 a Version:

Tendrá un error en SQL Server Destination. Que no se puede insertar la columna por un problema de conversión. Esto se debe a que Prop_0 es una cadena y la tabla de SQL Server es un número entero:

Arrastre y suelte la tarea de conversión de datos y conéctese entre el origen del almacén de Azure Data Lake y el destino de SQL Server:

Haga doble clic en conversión de datos, seleccione Prop_0 y convierta el tipo de datos en un entero con signo de cuatro bytes [DT_I4] y asigne un alias. La conversión de datos crea otra columna con un tipo de datos diferente:

Vuelva al editor de destino de SQL y haga coincidir Prop_0int con ID:

Ejecute el paquete SSIS. En SSMS, verifique que se hayan creado las tablas dbo.smartphones y compruebe si se importaron los datos:

Si tiene preguntas o problemas, no dude en escribir sus comentarios.

Conclusiones

Azure Data Lake es un almacenamiento especial con alto rendimiento para manejar Big Data. Para migrar datos de servidores locales a Azure, puede usar SSIS. Para ello, necesita el nuevo Feature Pack para Azure. Este paquete instala nuevas tareas para conectarse a ADLS.

Para conectarnos a ADLS mediante SSIS, creamos un registro de la aplicación AAD con permisos para ello.

SSIS permite cargar los archivos a ADLS fácilmente. Solo necesita especificar la URL de ADLS y la clave de registro de la aplicación y la identificación de la aplicación.

También mostramos cómo extraer datos de ADLS a una tabla en SQL Server local.

Referencias

Para obtener más información sobre SSIS, Data Lake Store, registro de aplicaciones, use los siguientes enlaces:

  • Presentamos Azure Data Lake
  • Administrador de conexiones de Azure Data Lake Store
  • Paquete de funciones de Azure para servicios de integración (SSIS)
  • Integración de aplicaciones con Azure Active Directory
  • Tarea del sistema de archivos de Azure Data Lake Store
  • Registre su aplicación con su arrendatario de Azure Active Directory