Extracción, transformación y carga de datos en Linux con SSIS
Se aplica a: SQL Server - Linux
En este artículo se describe cómo ejecutar paquetes de SQL Server Integration Services (SSIS) en Linux. SSIS resuelve problemas de integración de datos complejos mediante la extracción de datos de varios orígenes y formatos, así como la transformación y limpieza de los datos y la carga de datos en varios destinos.
Los paquetes SSIS que se ejecutan en Linux pueden conectarse a Microsoft SQL Server en ejecución en Windows en el entorno local o en la nube, en Linux o en Docker. También pueden conectarse a Azure SQL Database, Azure Synapse Analytics, orígenes de datos ODBC, archivos planos y otros orígenes de datos, incluidos orígenes ADO.NET, archivos XML y servicios OData.
Para obtener más información sobre las capacidades de SSIS, vea SQL Server Integration Services.
Requisitos previos
Para ejecutar paquetes SSIS en un equipo Linux, primero tiene que instalar SQL Server Integration Services. SSIS no se incluye en la instalación de SQL Server para ordenadores Linux. Para obtener instrucciones de instalación, consulte Instalación de SQL Server Integration Services (SSIS) en Linux.
También debe tener un equipo Windows para crear y mantener paquetes. Las herramientas de administración y diseño de SSIS son aplicaciones Windows que no están disponibles actualmente para ordenadores Linux.
Ejecutar un paquete SSIS
Para ejecutar un paquete SSIS en un equipo Linux, haga lo siguiente:
Copie el paquete SSIS en el equipo Linux.
Ejecute el comando siguiente:
dtexec /F \<package name \> /DE <protection password>
Ejecute un paquete cifrado (protegido por contraseña)
Hay tres formas de ejecutar un paquete SSIS cifrado con una contraseña:
Establezca el valor de la variable de entorno
SSIS_PACKAGE_DECRYPT
, como se muestra en el siguiente ejemplo:SSIS_PACKAGE_DECRYPT=test /opt/ssis/bin/dtexec /f package.dtsx
Especifique la opción
/de[crypt]
para escribir la contraseña de forma interactiva, tal como se muestra en el siguiente ejemplo:/opt/ssis/bin/dtexec /f package.dtsx /de Enter decryption password:
Especifique la opción
/de
para proporcionar la contraseña en la línea de comandos, tal y como se muestra en el siguiente ejemplo. No se recomienda este método porque almacena la contraseña de descifrado con el comando en el historial de comandos.opt/ssis/bin/dtexec /f package.dtsx /de test Warning: Using /De[crypt] <password> may store decryption password in command history. You can use /De[crypt] instead to enter interactive mode, or use environment variable SSIS_PACKAGE_DECRYPT to set decryption password.
Diseñar paquetes
Conectarse a orígenes de datos ODBC. Con SSIS en la actualización de CTP 2.1 de Linux y versiones posteriores, los paquetes SSIS pueden usar conexiones ODBC en Linux. Esta funcionalidad se ha probado con SQL Server y los controladores ODBC de MySQL, pero también se espera que funcione con cualquier controlador ODBC de Unicode que respete la especificación de ODBC. En tiempo de diseño, puede proporcionar un DSN o una cadena de conexión para conectarse a los datos ODBC; también puede usar la autenticación de Windows. Para obtener más información, vea la entrada de blog que anuncia la compatibilidad con ODBC en Linux.
Rutas. Proporcione rutas de estilo Windows en los paquetes SSIS. SSIS en Linux no admite rutas de estilo Linux, sino que asigna rutas de estilo Windows a rutas de estilo Linux en tiempo de ejecución. Después, por ejemplo, SSIS en Linux asigna la ruta de estilo Windows C:\test
a la ruta de estilo Linux /test
.
Implementar paquetes
En esta versión, solo puede almacenar paquetes en el sistema de archivos de Linux. La base de datos del catálogo de SSIS y el servicio SSIS heredado no están disponibles en Linux para la implementación y el almacenamiento de paquetes.
Programar paquetes
Puede usar herramientas de programación del sistema Linux como cron
para programar paquetes. No se puede usar el Agente SQL en Linux para programar la ejecución de paquetes en esta versión. Para más información, consulte Programación de la ejecución de paquetes de SQL Server Integration Services en Linux con cron.
Limitaciones y problemas conocidos
Para obtener información detallada sobre las limitaciones y los problemas conocidos de SSIS en Linux, consulte Limitaciones y problemas conocidos de SSIS en Linux.
Más información sobre SSIS en Linux
Para obtener más información sobre SSIS en Linux, consulte las siguientes entradas de blog:
- SSIS en Linux está disponible en SQL Server CTP 2.1 2017
- ODBC es compatible con SSIS en Linux (actualización de SQL Server CTP 2.1 2017)
Más información sobre SSIS
Microsoft SQL Server Integration Services (SSIS) es una plataforma que permite generar soluciones de integración de datos de alto rendimiento, entre las que se incluyen paquetes de extracción, transformación y carga de datos (ETL) para el almacenamiento de datos. Para obtener más información sobre SSIS, vea SQL Server Integration Services.
SSIS incluye las características siguientes:
- Herramientas y asistentes gráficos para compilar y depurar paquetes en Windows
- Una amplia gama de tareas para realizar funciones de flujo de trabajo, como operaciones FTP, ejecutar instrucciones SQL y enviar mensajes de correo electrónico
- Diversos orígenes de datos y destinos para extraer y cargar datos
- Diversas transformaciones para limpiar, agregar, combinar y copiar datos
- Interfaces de programación de aplicaciones (API) para extender SSIS con sus propios scripts y componentes personalizados
Para comenzar a trabajar con SSIS, descargue la última versión de SSIS How to Create an ETL Package (Cómo crear un paquete ETL).
Para más información sobre SSIS, vea los siguientes artículos:
- SQL Server Integration Services
- Herramientas de administración y desarrollo de Integration Services (SSIS)
- Tutoriales de Integration Services