Extrair, transformar e carregar dados no Linux com o SSIS
Aplica-se a: SQL Server - Linux
Este artigo descreve como executar pacotes SSIS (SQL Server Integration Services) no Linux. O SSIS resolve problemas complexos de integração de dados extraindo dados de várias fontes e formatos, transformando-s e limpando-os e carregando-os dados em vários destinos.
Os pacotes SSIS em execução no Linux podem conectar-se ao Microsoft SQL Server em execução no Windows local ou na nuvem ou no Linux ou no Docker. Eles também podem se conectar ao Banco de Dados SQL do Azure, ao Azure Synapse Analytics, a fontes de dados ODBC, a arquivos simples e a outras fontes, incluindo fontes do ADO.NET, arquivos XML e serviços OData.
Para obter mais informações sobre as funcionalidades do SSIS, confira o SQL Server Integration Services.
Pré-requisitos
Para executar pacotes SSIS em um computador Linux, primeiro é necessário instalar o SQL Server Integration Services. O SSIS não está incluído na instalação do SQL Server para computadores Linux. Para obter instruções sobre a instalação, confira Instalar o SQL Server Integration Services (SSIS) em Linux.
Você também precisar ter um computador Windows para criar e manter pacotes. As ferramentas de design e de gerenciamento do SSIS são aplicativos Windows que não estão disponíveis para computadores Linux no momento.
Executar um pacote SSIS
Para executar um pacote SSIS em um computador Linux, faça o seguinte:
Copie o pacote SSIS para o computador Linux.
Execute o seguinte comando:
dtexec /F \<package name \> /DE <protection password>
Executar um pacote criptografado (protegido por senha)
Há três maneiras de executar um pacote SSIS criptografado com uma senha:
Defina o valor da variável de ambiente
SSIS_PACKAGE_DECRYPT
, conforme mostrado no exemplo a seguir:SSIS_PACKAGE_DECRYPT=test /opt/ssis/bin/dtexec /f package.dtsx
Especifique a opção
/de[crypt]
para inserir a senha interativamente, conforme mostrado no exemplo a seguir:/opt/ssis/bin/dtexec /f package.dtsx /de Enter decryption password:
Especifique a opção
/de
para fornecer a senha na linha de comando, conforme mostrado no exemplo a seguir. Esse método não é recomendado, porque ele armazena a senha de descriptografia com o comando no histórico 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.
Criar pacotes
Conectar-se a fontes de dados ODBC. Com o SSIS na Atualização CTP 2.1 do Linux e posterior, os pacotes SSIS podem usar conexões ODBC no Linux. Essa funcionalidade foi testada com o SQL Server e os drivers ODBC do MySQL, mas também espera-se que ela funcione com qualquer driver ODBC Unicode que observa a especificação ODBC. Em tempo de design, é possível fornecer um DSN ou uma cadeia de conexão para conectar-se aos dados ODBC; também é possível usar a autenticação do Windows. Para saber mais, confira a postagem no blog que anunciou o suporte do ODBC para Linux.
Caminhos. Forneça caminhos no estilo do Windows em seus pacotes SSIS. O SSIS no Linux não dá suporte a caminhos no estilo do Linux, mas mapeia os caminhos no estilo do Windows para caminhos no estilo do Linux em tempo de execução. Em seguida, por exemplo, o SSIS no Linux mapeia o caminho C:\test
no estilo do Windows para o caminho /test
no estilo do Linux.
Implantar pacotes
Só é possível armazenar pacotes no sistema de arquivos no Linux nesta versão. O banco de dados do Catálogo do SSIS e o serviço SSIS herdado não estão disponíveis no Linux para a implantação e o armazenamento de pacotes.
Agendar pacotes
É possível usar as ferramentas de agendamento do sistema Linux, como cron
, para agendar pacotes. Não é possível usar o SQL Agent no Linux para agendar a execução de pacotes nesta versão. Para obter mais informações, consulte Agendar a execução de pacotes do SQL Server Integration Services no Linux com cron.
Limitações e problemas conhecidos
Para obter informações detalhadas sobre as limitações e problemas conhecidos do SSIS no Linux, confira Limitações e problemas conhecidos do SSIS no Linux.
Mais informações sobre o SSIS no Linux
Para obter mais informações sobre o SSIS no Linux, confira as seguintes postagens no blog:
- O SSIS no Linux está disponível no SQL Server 2017 CTP 2.1
- O ODBC tem suporte no SSIS no Linux (atualização do SQL Server 2017 CTP 2.1)
Mais informações sobre o SSIS
O Microsoft SSIS (SQL Server Integration Services) é uma plataforma para a criação de soluções de integração de dados de alto desempenho, incluindo os pacotes ETL (extração, transformação e carregamento) para armazenamento de dados. Para obter mais informações sobre SSIS, consulte SQL Server Integration Services.
O SSIS inclui os seguintes recursos:
- Ferramentas gráficas e assistentes para criar e depurar pacotes no Windows
- Uma variedade de tarefas para realizar funções de fluxo de trabalho, como operações FTP, executar instruções SQL e enviar mensagens de email
- Uma variedade de fontes de dados e destinos para extrair e carregar dados
- Uma variedade de transformações para limpeza, agregação, mesclagem e cópia de dados
- APIs (interfaces de programação de aplicativo) para estender o SSIS com seus próprios componentes e scripts personalizados
Para começar a usar o SSIS, baixe a versão mais recente de SSIS: Como criar um pacote ETL.
Para saber mais sobre o SSIS, confira os seguintes artigos:
- SQL Server Integration Services
- Ferramentas de desenvolvimento e gerenciamento do SSIS (Integration Services)
- Tutoriais do Integration Services