Automatização de dados com o SSIS – Parte 2
Recursos especiais neste artigo:
Contém nota Quickupdate, Conteúdo sobre boas práticas.
Autores: Jean Cristian Ferreira Machado e Elton de Freitas
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 ...
Confira outros conteúdos:
Black November
Desconto exclusivo para as primeiras 200 matrículas!
Pagamento anual
12x no cartão
De: R$ 69,00
Por: R$ 54,90
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- 12 meses de acesso
Pagamento recorrente
Cobrado mensalmente no cartão
De: R$ 79,00
Por: R$ 54,90 /mês
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- Fidelidade de 12 meses
- Não compromete o limite do seu cartão
<Perguntas frequentes>
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.