Artigo do tipo Tutorial
Recursos especiais neste artigo:
Contém nota Quickupdate, Conteúdo sobre boas práticas.
Autores: Jean Cristian Ferreira Machado e Elton de Freitas
Automatização de dados com o SSIS
Neste artigo são explorados conceitos sobre o módulo Integration Services (SSIS) presente na ferramenta Business Intelligence Development Studio (BIDS) da empresa Microsoft. Após definições sobre os principais conceitos e aplicabilidades da ferramenta e seus componentes, são detalhados conceitos da extração de dados, a primeira fase do ETL. Por fim, é feita uma conclusão descrevendo a importância e os benefícios em conhecer a automatização da extração de dados no processo de ETL.

Em que situação o tema é útil
A aplicação de conceitos de extração do processo de ETL (Extração, Transformação e Carga) é recomendada para empresas de todos os segmentos, em especial, empresas com diversas fontes de dados, para que possam fazer o recebimento e carregamento de dados de forma automatizada e popule o seu armazém de dados (data warehouse) ou datamart, facilitando o processo, aumentando a produtividade e diminuindo a margem de erro.

Atualmente vivemos em uma era onde a produção de informação é constante, diversas empresas possuem muitas fontes de dados nos mais diversos formatos. Mediante tal situação surge a necessidade de integrá-los de forma rápida, prática e produtiva.

Trabalhar com dados de diferentes fontes e formatos pode ser uma tarefa complicada, principalmente quando há necessidade de integrá-los para utilizá-los como uma única base de consulta.

Saber automatizar este processo é de vital importância para as empresas, pois há um grande ganho de tempo nas consultas e obtenção das informações que por sua vez são importantes nas tomadas de decisões gerenciais.

Neste artigo apresentaremos na prática o uso da extração de dados. O projeto foi desenvolvido a partir de uma necessidade real de uma empresa. O mesmo resolveu o problema de recebimento de informações que chegavam de forma manual, aumentou a produtividade e demonstrou-se muito eficaz.

Para tanto, será demonstrado como realizar o processo de extração de forma automatizada. Será utilizada a ferramenta BIDS que possui o módulo SSIS, específico para este tipo de operação.

Para fins de ilustração, foram utilizadas bases de dados de um concurso público da Universidade Federal de Juiz de Fora (UFJF) e seus resultados foram divulgados em formato PDF, conforme cargo e localidade. As bases de dados são públicas e podem ser encontradas no site da Universidade Federal de Juiz de Fora, o caminho pode ser obtido no endereço indicado na seção Links.

Para que o processo possa ser feito corretamente, depois de baixar todos os arquivos, deverão ser retirados todos os seus acentos e caracteres especiais (ç) e incluir um adendo ao final do nome do arquivo que irá referenciar a cidade que o candidato escolheu para concorrer ao cargo. Para a cidade de Juiz de Fora, os arquivos receberam “_jf” e para a cidade de Governador Valadares “_gv”. Isso foi feito devido ao fato de que o nome do arquivo será o nome da tabela que irá abrigar os dados.

Conceitos iniciais sobre o Integration Services

O SSIS é parte integrante do BIDS desde o SQL Server 2005. No SQL Server 2008 R2 é encontrado a partir da versão Standard, que permite trabalhar com os conceitos de ETL nos dados a partir de uma fonte de dados qualquer para outra qualquer, mesmo que sejam distintas.

O uso do SSIS vem para solucionar problemas de integração de dados complexos, com a finalidade de copiar ou baixar arquivos, enviar mensagens de e-mail em resposta a eventos, atualizar data warehouses ou datamarts, fazer limpeza, mineração e gerenciamento de dados do SQL Server.

Os pacotes podem funcionar sozinhos ou integrados ao gerenciador de tarefas do SQL Server para resolver necessidades complexas de tratamento de dados. O SSIS pode manipular uma ampla variedade de fontes de dados, como arquivos XML, arquivos TXT, CSV, RAW e fontes de dados de bancos relacionais e transferir dados para um ou mais destinos.

O SSIS inclui um conjunto variado de tarefas e componentes para extração, transformação e carga de dados contidos em pacotes de manipulação de dados. Pode-se usar as ferramentas gráficas do SSIS para criar soluções sem utilizar uma única linha de código, ou pode-se fazer uso de scripts que trabalham com SQL e as linguagens de programação VB.Net e C#.

Passo inicial

Para seguir em frente é necessário que o SQL Server 2008 R2 esteja instalado e configurado adequadamente na máquina em que será feito o projeto de integração de dados.

Outro item necessário é criar uma pasta para receber e guardar os arquivos do projeto, se possível numa segunda unidade do disco rígido, caso a mesma exista. No exemplo será usada a unidade D, de acordo com a configuração da máquina do usuário pode ser E ou F. Caso ocorra algum problema de segurança se a pasta for criada diretamente na unidade C, é bom assegurar que esse tipo de questão não prejudique o funcionamento do projeto, então é necessário ajustar as propriedades de segurança da unidade C caso seja necessário.

Na unidade escolhida para se trabalhar, deve-se criar a pasta devmedia e a subpasta SSIS, provavelmente o seu caminho ficará da seguinte forma: D:\devmedia\SSIS. Também é necessário criar uma pasta dentro de devmedia com o nome de Scripts que irá conter o script necessário para criar o banco que vai receber os dados. Crie também uma pasta chamada database para conter o banco de dados.

Criadas as pastas, agora é necessário criar o banco de dados no SQL Server para armazenar os dados que serão obtidos nos arquivos PDF. Tal banco será criado a partir do script contido na Listagem 1. Copie o código para o SQL Server, atualize a unidade de trabalho contida no script e depois salve-o dentro de D:\devmedia\Scripts.

Listagem 1. Cria o banco de dados Importa.

USE master
GO
CREATE DATABASE Importa
ON
( 	NAME = Importa_dat,
	--Atualizar a unidade abaixo de acordo com a que
	--está sendo trabalhada
	FILENAME='D:\devmedia\database\importadat.mdf',
	SIZE = 10,
	MAXSIZE = 50,
	FILEGROWTH = 5 
)
LOG ON
(	NAME ='Importa_log',
	--Atualizar a unidade abaixo de acordo com a que
	--está sendo trabalhada
	FILENAME='D:\devmedia\database\importalog.mdf',
	SIZE = 5MB,
	MAXSIZE = 25MB,
	FILEGROWTH = 5MB 
)
GO

Extract

Em seguida temos a fase Extract onde é necessário obter os dados que irão alimentar, no caso do projeto, um pequeno banco de dados multidimensional.

Assim, avalia-se como os dados serão obtidos, como será feita a conexão entre os dados e o software de transformação de dados, sejam estes arquivos que podem estar em diversos formatos, ou até mesmo em formato PDF, desde que estes não tenham sido feitos a partir de imagens.

Agora execute o BIDS, crie um novo projeto no menu File>New>Project>Business Intelligence Projects e por fim Integration Services Project. O projeto deverá ter o nome de ProjETL. Feito isso, selecione a pasta criada anteriormente com o nome de devmedia para que o projeto seja gravado dentro da subpasta SSIS, desmarque a opção create directory for solution e confirme a operação. A primeira visão do projeto será o Control Flow demonstrado na ...

Quer ler esse conteúdo completo? Tenha acesso completo