Você está na página 1de 69

FORMAÇÃO EM

DATA
ANALYTICS
MÓDULO 2:

EXTRAÇÃO, TRANSFORMAÇÃO
E CARGA (ETL)
UNIDADE 3:

EXTRAÇÃO, TRANSFORMAÇÃO
E CARGA DE DADOS
Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Sumário
1. Introdução 04

2. Instalando o Pentaho Data Integration Pré-requisitos 07

3. O ambiente do Pentaho Data Integration 12

4. Steps de Entrada 15

4.1. Text File Input 16

4.2. CSV File Input 18

4.3. Microsoft Excel Input 20

4.4. Table Input 23

4.5. XML File Input 25

5. Steps de Saída 27

5.1 Table Output 28

5.2. Text File Output 31

5.3. CSV File Input 33

5.4. Insert/Update 34

5.5. Update 36

6. Steps de Transformação 39

6.1 Select Values 40

6.2. Filter Rows 41

6.3. String Cut 43

6.4. Calculator 44

6.5. String Operations 46

Sumário
02
Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Sumário
7. Steps fluxo 47

7.1 Dummy 48

7.2 Block Until Steps Finish 49

7.3. Abort 51

7.4. Switch / Case 53

7.5. Blocking Step 54

8. Outros Steps 57

8.1. Database lookup 57

8.2. HTTP Client 58

8.3. Rest Client 62

8.4. Join Rows 64

8.5. Merge Join 65

Sumário
03
Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

1. Introdução
O Pentaho Data Integration (PDI) é o componente da suíte Pentaho usado para
criar processos de extração, transformação e carga (do inglês ETL – Extract,
Transform and Load) que alimentam um outro banco de dados, como, por
exemplo, um Data Warehouse.​ Com o Pentaho Data Integration é possível fazer
inúmeras operações de Integração de Dados, como:
Migração de dados;
Movimentação de grandes volumes de dados;
Transformação de dados;
Limpeza de dados;
Conformidade de dados.

O PDI é formado por duas categorias de artefatos, Transformações e Jobs, e


estes são construídos por meio de sua interface gráfica, o Spoon. O Spoon tem
como objetivo facilitar a concepção de rotinas e a lógica ETL.

Transformações
Uma transformação registra o passo a passo de como a extração ou leitura de
uma fonte de informação é realizada. É a transformação que opera sobre os
dados. Ela pode conter:
Leitura de dados de uma tabela, de um banco de dados;
Seleção de campos específicos de uma tabela;
Concatenação de valores de dois campos distintos de uma tabela;
Divisão de valores contidos em um único campo, gerando dois ou mais novos
campos ou linhas;
Merge de dados de tabelas contidas em bancos de dados diferentes;
Merge de dados originados em tabelas, arquivos XML, TXT ou CSV, dentre
outras fontes de dados;
Aplicação de expressões regulares em texto para limpeza.

Módulo 2 > Unidade 3 > 1. Introdução 04


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

O aspecto mais importante em uma transformação é que ela opera todas as


etapas simultaneamente – uma transformação não tem início ou fim, ela apenas
processa linhas que chegam.

Jobs
Um Job é uma sequência de operações. Ao contrário de uma transformação, que
opera sobre as linhas de dados em paralelo, um Job realiza operações completas,
uma por uma. Ele permite, por exemplo, combinar transformações em uma
sequência específica e, com isto, automatizar uma determinada tarefa. Por sua
natureza, ele não fornece muitos recursos técnicos para manusear os dados em
si, deixando isto a cargo das transformações.

Abaixo, as principais características de JOBs e Transformações.

JOB (*.kjb) Transformação (*.ktr)

Passos são executados Passos são executados


sequencialmente. simultaneamente

Opera sobre o fluxo de ações Opera sobre as linhas de dados

Organização Transformação

Cálculos
Mover arquivos
Criar/apagar tabelas Carga de Dados
Testar condições
Aplicação de regras de negócio

Módulo 2 > Unidade 3 > 1. Introdução 05


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

O Spoon, porém, é só a interface gráfica para criar os processos de integração de


dados. Ele não serve para executá-los em produção, ou seja, no ambiente sem
supervisão humana. Para isso usamos outros programas, que operam em linha
de comando, sem interface gráfica. O Pan é o programa que executa
transformações. Vale a pena mencionar que tanto jobs quanto transformações
podem ser arquivos em um sistema de arquivos normal, ou em um repositório
em banco de dados. O Pan pode executar uma transformação a partir de
qualquer uma dessas origens.

Em geral, as transformações executadas pelo Pan são agendadas em modo batch,


para que possam ser executadas automaticamente em intervalos regulares por
alguma ferramenta de gerenciamento de tarefas como o crontab por exemplo.

Enquanto o Pan executa transformações, o Kitchen executa jobs. Tal qual ocorre
com o Pan, o Kitchen pode executar jobs a partir de um sistema de arquivos ou
de um repositório em banco de dados.

Novamente, tal qual o Pan, jobs são executados em modo batch por meio do
agendamento no modo batch para serem executados automaticamente em
intervalos regulares por alguma ferramenta de gerenciamento de tarefas, como o
crontab, por exemplo.

A tríade Spoon, Pan e Kitchen são os responsáveis pela criação e a execução de


artefatos criados para solucionar um problema de extração, transformação e
carga de dados em um projeto de ETL com o Pentaho Data Integration.

Módulo 2 > Unidade 3 > 1. Introdução 06


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

2. Instalando o Pentaho Data Integration


Pré-requisitos:
Java
É necessário ter instalado o JDK/JRE do Java, podendo ser a implementação aberta
(OpenJDK) ou fechada da Oracle, disponível em:
> > https://www.oracle.com/java/technologies/javase-jdk8-
downloads.html

Baixe o arquivo apropriado, de acordo com o seu computador, versão de 32 bits


ou 64 bits.

Pentaho Data Integration (PDI), versão Community Edition:


Faça o download do PDI no link abaixo. Atualmente a última versão é a 9.3:
> > https://sourceforge.net/projects/pentaho/files/

Módulo 2 > Unidade 3 > 2. Instalando o Pentaho Data Integration Pré-requisitos 07


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Instalação:
Instalação do Java

Faça a instalação normal do Java e, posteriormente, crie a variável de ambiente


JAVA_HOME com o valor do caminho de instalação do Java JDK.

Figura 01

Módulo 2 > Unidade 3 > 2. Instalando o Pentaho Data Integration Pré-requisitos 08


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Edite a variável “path” e coloque o caminho da pasta “bin” do Java JDK.

Figura 02

Módulo 2 > Unidade 3 > 2. Instalando o Pentaho Data Integration Pré-requisitos 09


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Instalação do PDI
Escolha um local no PC para armazenar o arquivo do PDI. Aqui, o local escolhido
foi dentro de “C:\pentaho”, dentro de “C:”. Foi criada a pasta Pentaho e o arquivo
de download foi descompactado. Crie também a pasta “KETTLE_HOME”. Nesta
pasta serão salvos os arquivos de inicialização da ferramenta. Em seguida, crie a
variável “KETTLE_HOME” e coloque como valor o caminho da pasta
KETTLE_HOME:

Figura 03

Módulo 2 > Unidade 3 > 2. Instalando o Pentaho Data Integration Pré-requisitos 10


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Feito isso, basta iniciar o arquivo Spoon.bat localizado dentro da pasta do PDI,
assim a ferramenta será inicializada.

Figura 04

Módulo 2 > Unidade 3 > 2. Instalando o Pentaho Data Integration Pré-requisitos 11


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

3. O ambiente do Pentaho Data Integration


O Pentaho tem uma interface bastante familiar para quem trabalha com
ferramentas de desenvolvimento ou com outras ferramentas de ETL como o SQL
Server Integration Services ou o Talend. Depois que o programa é iniciado e a tela
de abertura se fecha, a interface do Pentaho Data Integration se abre. Observe na
aba “Welcome” diversos links para documentação, vídeos e recursos de
aprendizado a distância. Aqui serão detalhadas as principais abas e opções do
Pentaho Data Integration, também conhecido como PDI.

Figura 05

O Pentaho Data Integration pode criar dois tipos de arquivos com as seguintes
terminações: “. ktr” e “. kjb”, respectivamente as “transformations” e os “Jobs”. Os
arquivos “ktr”, são responsáveis pelos processos de ETL propriamente ditos, e os
“Jobs” são usados para eventualmente coordenar a execução das
transformações. À esquerda da interface do Pentaho, você pode ver o painel
“Explorer”, que permite visualizar os arquivos de transformação e de execução
criados por você.

Módulo 2 > Unidade 3 > 3. O ambiente do Pentaho Data Integration 12


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Figura 06

Módulo 2 > Unidade 3 > 3. O ambiente do Pentaho Data Integration 13


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Observe que quando uma nova transformação é criada, a aba “Design” fica
imediatamente habilitada. Essa aba apresenta todos os componentes disponíveis
no Pentaho Data Integration, que podem ser empregados para importar,
converter e exportar dados entre diversas fontes e origens. Você ainda pode
adicionar componentes no Canvas, arrastando e soltando a opção desejada da
aba “design”.

Figura 07

Quando um JOB (.kjb) é criado, sua aba de Design se modifica, habilitando dessa
maneira as opções que são possíveis de se realizar num kjb.

Módulo 2 > Unidade 3 > 3. O ambiente do Pentaho Data Integration 14


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

4. Steps de Entrada
Os "steps de entrada" (ou "input steps") no Pentaho Data Integration (também
conhecido como PDI ou Kettle) são os componentes que permitem a leitura de
dados de diferentes fontes e formatos para serem processados pela ferramenta.
Esses steps incluem:

1. Text file input: para ler dados de arquivos de texto;


2. Excel input: para ler dados de arquivos do Microsoft Excel;
3. CSV file input: para ler dados de arquivos CSV;
4. Database input: para ler dados de tabelas de bancos de dados;
5. LDAP input: para ler dados de diretórios LDAP;
6. XML input: para ler dados de arquivos XML;
7. JSON input: para ler dados de arquivos JSON;
8. Google Sheets input: para ler dados de planilhas do Google Sheets;
9. Salesforce input: para ler dados do Salesforce;
10. Hadoop file input: para ler dados de arquivos do Hadoop HDFS.

Cada step de entrada tem suas próprias configurações específicas, como o tipo
de arquivo, o delimitador de campo, o nome da tabela, a consulta SQL, entre
outros, dependendo do tipo de fonte de dados.

Módulo 2 > Unidade 3 > 4. Steps de Entrada 15


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

4.1. Text File Input


Text File Input é um "step de entrada" do Pentaho Data Integration que permite
ler dados de arquivos de texto com formatos variados. Ele é usado para
processar arquivos de texto com colunas delimitadas por um caractere especial
(como vírgulas, ponto e vírgula etc.), arquivos de texto com colunas com tamanho
fixo, entre outros formatos.

O Text File Input é configurado para ler um ou mais arquivos de texto e definir as
colunas que devem ser lidas. Para configurar esse step, são necessárias as
seguintes informações:

1. Arquivo de entrada: caminho e nome do arquivo que será lido;


2. Tipo de arquivo: formato do arquivo (CSV, TSV, Delimitado, Tamanho Fixo etc.);
3. Opções de delimitação: caractere usado para separar as colunas no arquivo;
4. Opções de codificação: conjunto de caracteres usado no arquivo;
5. Opções de cabeçalho: indica se o arquivo contém um cabeçalho com o nome
das colunas;
6. Configurações das colunas: definição do nome, tipo e posição de cada coluna
no arquivo.

Um exemplo de uso do Text File Input seria para ler um arquivo CSV que contém
informações de vendas de uma loja. O arquivo tem as seguintes colunas: ID do
produto, nome do produto, quantidade vendida e preço unitário. O arquivo é
salvo com o nome "vendas.csv" e o separador de colunas é a vírgula.

Módulo 2 > Unidade 3 > 4. Steps de Entrada 16


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Para ler esse arquivo com o Text File Input, seria necessário configurar o step
com as seguintes informações:
Arquivo de entrada: "vendas.csv";
Tipo de arquivo: CSV;
Opções de delimitação: vírgula;
Opções de codificação: UTF-8 (ou outro conjunto de caracteres, dependendo
do arquivo);
Opções de cabeçalho: o arquivo contém um cabeçalho com o nome das
colunas;
Configurações das colunas: nome do produto (string), quantidade vendida
(integer), preço unitário (float).

Módulo 2 > Unidade 3 > 4. Steps de Entrada 17


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Figura 08

4.2. CSV File Input


CSV File Input é um "step de entrada" do Pentaho Data Integration que permite
ler dados de arquivos CSV (Comma Separated Values). Ele é usado para processar
arquivos com dados estruturados em colunas separadas por vírgulas ou outros
caracteres delimitadores.
O CSV File Input é configurado para ler um ou mais arquivos CSV e definir as
colunas que devem ser lidas. Para configurar esse step, são necessárias as
seguintes informações:
1. Arquivo de entrada: caminho e nome do arquivo que será lido;
2. Opções de delimitação: caractere usado para separar as colunas no arquivo;
3. Opções de codificação: conjunto de caracteres usado no arquivo;
4. Opções de cabeçalho: indica se o arquivo contém um cabeçalho com o nome
das colunas;
5. Configurações das colunas: definição do nome, tipo e posição de cada coluna
no arquivo.

Módulo 2 > Unidade 3 > 4. Steps de Entrada 18


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Um exemplo de uso do CSV File Input seria para ler um arquivo CSV que contém
informações de vendas de uma loja. O arquivo tem as seguintes colunas: ID do
produto, nome do produto, quantidade vendida e preço unitário. O arquivo é
salvo com o nome "vendas.csv" e o separador de colunas é a vírgula.

Para ler esse arquivo com o CSV File Input, seria necessário configurar o step com
as seguintes informações:
1. Arquivo de entrada: "vendas.csv".
2. Opções de delimitação: vírgula.
3. Opções de codificação: UTF-8 (ou outro conjunto de caracteres, dependendo
do arquivo).
4. Opções de cabeçalho: o arquivo contém um cabeçalho com o nome das
colunas.
5. Configurações das colunas: nome do produto (string), quantidade vendida
(integer), preço unitário (float).

Com essas configurações, o step CSV File Input leria o arquivo "vendas.csv" e
criaria uma saída com as colunas “nome do produto”, “quantidade vendida” e
“preço unitário”. Esses dados poderiam, então, ser processados e transformados
usando outros steps do Pentaho Data Integration.

Módulo 2 > Unidade 3 > 4. Steps de Entrada 19


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Figura 09

4.3. Microsoft Excel Input


Microsoft Excel Input é um "step de entrada" do Pentaho Data Integration que
permite ler dados de planilhas do Microsoft Excel (.xls ou .xlsx). Ele é usado para
processar dados em planilhas e transformá-los em dados utilizáveis no Pentaho.

Módulo 2 > Unidade 3 > 4. Steps de Entrada 20


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

O Microsoft Excel Input é configurado para ler uma ou mais planilhas e definir as
colunas que devem ser lidas. Para configurar esse step, são necessárias as
seguintes informações:
1. Arquivo de entrada: caminho e nome do arquivo que será lido;
2. Nome da planilha: nome da planilha que contém os dados a serem lidos;
3. Intervalo de células: intervalo de células que contém os dados a serem lidos;
4. Opções de cabeçalho: indica se a planilha contém um cabeçalho com o nome
das colunas;
5. Configurações das colunas: definição do nome, tipo e posição de cada coluna
na planilha.

Um exemplo de uso do Microsoft Excel Input seria para ler uma planilha do
Microsoft Excel que contém informações de vendas de uma loja. A planilha tem
as seguintes colunas: ID do produto, nome do produto, quantidade vendida e
preço unitário. A planilha é salva com o nome "vendas.xlsx" e a planilha com as
informações de vendas tem o nome "Planilha1".

Para ler essa planilha com o Microsoft Excel Input, seria necessário configurar o
step com as seguintes informações:
1. Arquivo de entrada: "vendas.xlsx";
2. Nome da planilha: "Planilha1";
3. Intervalo de células: "A1:D100" (por exemplo, se os dados estiverem nas
células de A1 a D100);
4. Opções de cabeçalho: a planilha contém um cabeçalho com o nome das
colunas;
5. Configurações das colunas: nome do produto (string), quantidade vendida
(integer), preço unitário (float).

Módulo 2 > Unidade 3 > 4. Steps de Entrada 21


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Com essas configurações, o step Microsoft Excel Input leria a planilha "Planilha1"
do arquivo "vendas.xlsx" e criaria uma saída com as colunas “nome do produto”,
“quantidade vendida” e “preço unitário”. Esses dados poderiam, então” ser
processados e transformados usando outros steps do Pentaho Data Integration.

Figura 10

Módulo 2 > Unidade 3 > 4. Steps de Entrada 22


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Figura 10

4.4. Table Input


Table Input é um "step de entrada" do Pentaho Data Integration que permite ler
dados diretamente de uma tabela em um banco de dados relacional. Ele é usado
para processar dados armazenados em bancos de dados e transformá-los em
dados utilizáveis no Pentaho.

O Table Input é configurado para se conectar a um banco de dados e selecionar


dados de uma tabela específica. Para configurar esse step, são necessárias as
seguintes informações:
1. Configurações de conexão: informações de conexão com o banco de dados
(como o nome do host), porta, nome do banco de dados, nome de usuário e
senha;
2. SQL da consulta: consulta SQL que seleciona os dados da tabela desejada;
3. Opções de cache: opções de cache de dados para melhorar o desempenho
do step.

Módulo 2 > Unidade 3 > 4. Steps de Entrada 23


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Um exemplo de uso do Table Input seria para ler dados de uma tabela de vendas
em um banco de dados MySQL. A tabela tem as seguintes colunas: ID da venda,
ID do produto, data da venda e quantidade vendida.

Para ler essa tabela com o Table Input, seria necessário configurar o step com as
seguintes informações:
1. Configurações de conexão: nome do host, porta, nome do banco de dados,
nome de usuário e senha;
2. SQL da consulta: "SELECT * FROM vendas" (ou outra consulta SQL que
selecione as colunas desejadas);
3. Opções de cache: habilitado ou desabilitado, dependendo do desempenho
desejado.

Com essas configurações, o step Table Input executaria a consulta SQL "SELECT *
FROM vendas" no banco de dados MySQL especificado e criaria uma saída com
as colunas ID da venda, ID do produto, data da venda e quantidade vendida.
Esses dados poderiam, então, ser processados e transformados usando outros
steps do Pentaho Data Integration.

Figura 11

Módulo 2 > Unidade 3 > 4. Steps de Entrada 24


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

4.5. XML File Input


O "XML File Input" é um passo (step) de entrada no Pentaho Data Integration que
permite ler dados de arquivos XML. Ele é usado para processar dados em
arquivos XML e transformá-los em dados utilizáveis no Pentaho.

O XML File Input é configurado para ler um arquivo XML e definir as tags que
devem ser lidas. Para configurar esse step, são necessárias as seguintes
informações:
1. Arquivo de entrada: caminho e nome do arquivo XML que será lido;
2. Nome do elemento raiz: nome do elemento raiz que contém os dados a
serem lidos;
3. Caminho de elementos: o caminho do elemento ou elementos que contêm os
dados a serem lidos;
4. Configurações dos campos: definição do nome, tipo e posição de cada campo
no arquivo XML.

Um exemplo de uso do XML File Input seria para ler um arquivo XML que contém
informações sobre produtos. O arquivo XML tem os seguintes elementos:
produto, nome, descrição, preço e categoria. O arquivo é salvo com o nome
"produtos.xml".

Módulo 2 > Unidade 3 > 4. Steps de Entrada 25


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Para ler este arquivo XML com o XML File Input, seria necessário configurar o step
com as seguintes informações:
1. Arquivo de entrada: "produtos.xml";
2. Nome do elemento raiz: "produto";
3. Caminho de elementos: "/produto" (se o elemento raiz contiver apenas um
elemento "produto");
4. Configurações dos campos: nome (string), descrição (string), preço (float) e
categoria (string).

Com essas configurações, o step XML File Input leria o arquivo "produtos.xml" e
criaria uma saída com as colunas “nome”, “descrição”, “preço” e “categoria”. Esses
dados poderiam, então, ser processados e transformados usando outros steps
do Pentaho Data Integration.

Figura 12

Módulo 2 > Unidade 3 > 4. Steps de Entrada 26


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Figura 12

5. Steps de Saída
Os "steps de saída" no Pentaho Data Integration são aqueles que permitem a
gravação dos dados processados em uma fonte externa. Eles são usados para
enviar dados de um processo de transformação do Pentaho para um destino
externo, como um arquivo, um banco de dados ou uma API.

Os steps de saída no Pentaho Data Integration incluem:


1. Text File Output: grava dados em um arquivo de texto;
2. CSV File Output: grava dados em um arquivo CSV;
3. Microsoft Excel Writer: grava dados em um arquivo do Microsoft Excel;
4. Table Output: grava dados em uma tabela de banco de dados;
5. Insert / Update: grava dados em uma tabela de banco de dados, atualizando
registros existentes e inserindo novos registros;
6. REST Client: envia dados para uma API REST;
7. HTTP Post: envia dados para um servidor HTTP.

Módulo 2 > Unidade 3 > 5. Steps de Saída 27


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Cada step de saída tem suas próprias configurações específicas, dependendo da


fonte de dados para onde os dados serão escritos. Por exemplo, o step de saída
Text File Output tem configurações que permitem especificar o nome do arquivo,
o tipo de separador de campo e outras opções de formatação de arquivo. Já o
step de saída Table Output tem configurações que permitem especificar o nome
da tabela de banco de dados, o tipo de banco de dados, a configuração de
conexão e outras opções específicas do banco de dados.

Em resumo, os steps de saída no Pentaho Data Integration são usados para


gravar dados processados em uma fonte externa, permitindo que os dados sejam
acessados e utilizados posteriormente.

5.1. Table Output


O "Table Output" é um passo (step) de saída no Pentaho Data Integration que
permite gravar dados em uma tabela de banco de dados. Ele é usado para inserir,
atualizar ou excluir dados de uma tabela de um banco de dados a partir de dados
que foram processados e transformados no Pentaho.

O Table Output é configurado para gravar dados em uma tabela de banco de


dados específica. Para configurar este step, são necessárias as seguintes
informações:
1. Nome da tabela: nome da tabela de banco de dados em que os dados serão
gravados;
2. Configuração de conexão: informações de conexão para acessar o banco de
dados (nome do banco de dados, nome do usuário, senha etc.);
3. Tipo de operação: tipo de operação que será executada na tabela (inserir,
atualizar ou excluir dados);
4. Configurações dos campos: definição do nome e tipo de cada campo na
tabela de banco de dados.

Módulo 2 > Unidade 3 > 5. Steps de Saída 28


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Um exemplo de uso do Table Output seria para gravar dados em uma tabela
chamada "clientes" em um banco de dados MySQL. A tabela tem os seguintes
campos: ID, nome, endereço, cidade e telefone.

Para gravar dados nesta tabela usando o Table Output, seria necessário
configurar o step com as seguintes informações:
1. Nome da tabela: "clientes";
2. Configuração de conexão: nome do banco de dados, nome de usuário, senha
e outros parâmetros de conexão;
3. Tipo de operação: "Inserir" ou "Atualizar" (dependendo do objetivo);
4. Configurações dos campos: ID (int), nome (string), endereço (string), cidade
(string) e telefone (string).

Com essas configurações, o step Table Output gravaria os dados processados e


transformados no Pentaho na tabela "clientes" do banco de dados MySQL,
inserindo ou atualizando os registros conforme configurado.

O Table Output é um passo muito útil para automatizar a gravação de dados em


um banco de dados, eliminando a necessidade de inserir ou atualizar dados
manualmente. Ele também permite que os dados sejam mantidos de forma
consistente em um banco de dados centralizado, tornando-os mais fáceis de
acessar e utilizar posteriormente.

Módulo 2 > Unidade 3 > 5. Steps de Saída 29


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Figura 13

Módulo 2 > Unidade 3 > 5. Steps de Saída 30


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

5.2. Text File Output


O "Text File Output" é um passo de saída no Pentaho Data Integration que
permite gravar dados em um arquivo de texto. Ele é usado para salvar dados
processados e transformados em um formato de arquivo de texto.

O Text File Output é configurado para gravar dados em um arquivo de texto


específico. Para configurar esse step, são necessárias as seguintes informações:
1. Nome do arquivo: nome do arquivo que será criado ou atualizado;
2. Tipo de arquivo: tipo de arquivo que será gerado (CSV, texto simples etc.);
3. Codificação: codificação de caracteres que será usada para o arquivo;.
4. Separador de campo: separador que será usado para separar os campos no
arquivo;
5. Configurações dos campos: definição do nome e tipo de cada campo no
arquivo.

Um exemplo de uso do Text File Output seria para gravar dados de um processo
de transformação em um arquivo CSV. Para fazer isso, seria necessário configurar
o step com as seguintes informações:
1. Nome do arquivo: nome do arquivo CSV que será criado ou atualizado;
2. Tipo de arquivo: CSV;
3. Codificação: UTF-8;
4. Separador de campo: ponto e vírgula (;);
5. Configurações dos campos: definição do nome e tipo de cada campo no
arquivo.

Módulo 2 > Unidade 3 > 5. Steps de Saída 31


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Com essas configurações, o step Text File Output criaria um arquivo CSV com os
dados processados e transformados no Pentaho, separados por ponto e vírgula
(;) e com a codificação UTF-8.

O Text File Output é útil para gerar arquivos de texto com dados processados e
transformados, que podem ser usados posteriormente em outras aplicações. Por
exemplo, pode ser usado para gerar relatórios em formato de arquivo de texto,
que podem ser facilmente importados em outras ferramentas de análise ou de
apresentação.

Figura 14

Módulo 2 > Unidade 3 > 5. Steps de Saída 32


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Figura 14

5.3. CSV File Input


O "CSV File Input" é um passo de entrada no Pentaho Data Integration que
permite ler dados de um arquivo CSV (Comma Separated Values). Ele é usado
para importar dados de um arquivo CSV e transformá-los para uso em processos
de ETL (Extração, Transformação e Carga).

O CSV File Input é configurado para ler um arquivo CSV específico e transformar
os dados em um formato estruturado para serem usados em outros passos do
processo de transformação. Para configurar esse step, são necessárias as
seguintes informações:
1. Nome do arquivo: nome do arquivo CSV que será lido;
2. Delimitador: caractere que separa os valores no arquivo CSV (normalmente é
a vírgula, mas pode ser outro);
3. Codificação: codificação de caracteres que será usada para ler o arquivo;
4. Primeira linha como cabeçalho: indica se a primeira linha do arquivo contém
os nomes dos campos.

Módulo 2 > Unidade 3 > 5. Steps de Saída 33


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Um exemplo de uso do CSV File Input seria para ler dados de um arquivo CSV
chamado "clientes.csv" com os seguintes campos: ID, Nome, Endereço e Cidade.
Para fazer isso, seria necessário configurar o step com as seguintes informações:
1. Nome do arquivo: "clientes.csv";
2. Delimitador: vírgula (,);
3. Codificação: UTF-8;
4. Primeira linha como cabeçalho: sim.

Com essas configurações, o step CSV File Input lerá o arquivo "clientes.csv" e
transformará os dados em um formato estruturado que pode ser usado em
outros passos do processo de transformação. Os dados lidos serão organizados
em linhas e colunas, em que cada linha representará um registro e cada coluna
representará um campo.

O CSV File Input é um passo muito útil para importar dados de arquivos CSV e
transformá-los para uso em processos de ETL. Ele permite que os dados sejam
lidos de forma estruturada e organizada, tornando-os mais fáceis de manipular e
transformar em outras ferramentas do Pentaho.

5.4. Insert/Update
O "Insert/Update" é um passo de saída no Pentaho Data Integration que permite
inserir ou atualizar registros em uma tabela de banco de dados. Ele é usado para
realizar operações de carga em um banco de dados, permitindo que dados sejam
adicionados ou atualizados a partir de uma fonte externa.

Módulo 2 > Unidade 3 > 5. Steps de Saída 34


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

O Insert/Update é configurado para inserir ou atualizar registros em uma tabela


de banco de dados específica. Para configurar esse step, são necessárias as
seguintes informações:
1. Conexão com o banco de dados: conexão com o banco de dados onde os
dados serão inseridos ou atualizados.
2. Tabela de destino: nome da tabela onde os dados serão inseridos ou
atualizados;
3. Campos de correspondência: definição dos campos que serão usados para
verificar se um registro já existe na tabela (chave primária ou outros campos);
4. Campos de entrada: definição dos campos que serão inseridos ou atualizados
na tabela.

Um exemplo de uso do Insert/Update seria para atualizar registros em uma


tabela de clientes. Suponha que a tabela "clientes" tenha os seguintes campos:
id_cliente, nome, telefone e endereço. Para atualizar os registros de telefone e
endereço para alguns clientes específicos, seria necessário configurar o step com
as seguintes informações:
1. Conexão com o banco de dados: conexão com o banco de dados onde a
tabela "clientes" está localizada;
2. Tabela de destino: "clientes";
3. Campos de correspondência: id_cliente;
4. Campos de entrada: telefone e endereço.

Com essas configurações, o step Insert/Update verificará se os registros já


existem na tabela "clientes" com base na chave primária id_cliente e atualizará os
campos de telefone e endereço para os registros correspondentes.
O Insert/Update é um passo muito útil para realizar operações de carga em um
banco de dados a partir de fontes externas. Ele permite que dados sejam
adicionados ou atualizados de forma fácil e eficiente, garantindo que os registros
sejam mantidos atualizados e precisos.

Módulo 2 > Unidade 3 > 5. Steps de Saída 35


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Figura 15

5.5. Update
O "Update" é um passo de saída no Pentaho Data Integration que permite
atualizar registros em uma tabela de banco de dados. Ele é usado para realizar
operações de atualização em um banco de dados, permitindo que dados sejam
atualizados a partir de uma fonte externa.

Módulo 2 > Unidade 3 > 5. Steps de Saída 36


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

O Update é configurado para atualizar registros em uma tabela de banco de


dados específica. Para configurar esse step, são necessárias as seguintes
informações:
1. Conexão com o banco de dados: conexão com o banco de dados onde os
dados serão atualizados;
2. Tabela de destino: nome da tabela onde os dados serão atualizados;
3. Campos de correspondência: definição dos campos que serão usados para
verificar se um registro já existe na tabela (chave primária ou outros campos);
4. Campos de entrada: definição dos campos que serão atualizados na tabela.

Um exemplo de uso do Update seria para atualizar registros em uma tabela de


clientes. Suponha que a tabela "clientes" tenha os seguintes campos: id_cliente,
nome, telefone e endereço. Para atualizar os registros de telefone e endereço
para alguns clientes específicos, seria necessário configurar o step com as
seguintes informações:
1. Conexão com o banco de dados: conexão com o banco de dados onde a
tabela "clientes" está localizada;
2. Tabela de destino: "clientes";
3. Campos de correspondência: id_cliente;
4. Campos de entrada: telefone e endereço.

Com essas configurações, o step Update verificará se os registros já existem na


tabela "clientes" com base na chave primária id_cliente e atualizará os campos de
telefone e endereço para os registros correspondentes.

O Update é um passo muito útil para realizar operações de atualização em um


banco de dados a partir de fontes externas. Ele permite que dados sejam
atualizados de forma fácil e eficiente, garantindo que os registros sejam mantidos
atualizados e precisos.

Módulo 2 > Unidade 3 > 5. Steps de Saída 37


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Figura 16

Módulo 2 > Unidade 3 > 5. Steps de Saída 38


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

6. Steps de Transformação
Os steps de transformação no Pentaho Data Integration (também conhecido
como Kettle) são componentes que permitem que os dados sejam transformados
de uma forma específica. Esses steps podem ser usados para realizar diversas
tarefas de transformação de dados, como limpeza de dados, filtragem de
registros, combinação de dados de diferentes fontes, cálculos de campo, dentre
outras.

Os steps de transformação mais comuns no Pentaho Data Integration incluem:

1. Input: permite a leitura de dados de uma fonte específica, como um arquivo


de texto, um banco de dados relacional ou uma planilha do Excel
2. Filter rows: filtra registros com base em uma condição especificada;
3. Sort rows: classifica os registros com base em uma ou mais colunas;
4. Merge join: combina dados de duas ou mais fontes com base em uma coluna
comum;
5. Calculator: realiza cálculos em colunas existentes ou cria novas colunas;
6. Split fields: divide uma coluna em várias colunas com base em um separador
especificado;
7. Lookup: pesquisa uma tabela ou fonte de dados externa para obter valores
correspondentes para uma coluna de entrada.

Existem muitos outros steps de transformação disponíveis no Pentaho Data


Integration, dependendo das necessidades específicas do projeto. Cada step de
transformação possui suas próprias opções de configuração para definir a forma
como os dados serão transformados.

Módulo 2 > Unidade 3 > 6. Steps de Transformação 39


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

6.1. Select Values


O step Select Values no Pentaho Data Integration (também conhecido como
Kettle) é um componente que permite selecionar colunas específicas de um
conjunto de dados de entrada. Esse step é muito útil quando se trabalha com
grandes volumes de dados e se deseja reduzir o número de colunas que
precisam ser processadas ou exibidas.

Para usar o step Select Values, basta arrastá-lo para o design da transformação e
conectá-lo à fonte de dados de entrada. Em seguida, é preciso configurar o step,
indicando quais colunas devem ser selecionadas. É possível selecionar colunas
individuais ou selecionar um intervalo de colunas utilizando a sintaxe do SQL.

Por exemplo, se temos um conjunto de dados com as seguintes colunas: "Nome",


"Idade", "Sexo", "Cidade", "País", "Código Postal", podemos usar o step Select
Values para selecionar apenas as colunas "Nome", "Idade" e "Cidade". Isso pode
ser útil, por exemplo, se quisermos gerar um relatório que exiba apenas essas
informações.

Além disso, é possível renomear as colunas selecionadas para que elas tenham
nomes mais descritivos. Para isso, basta clicar em "Edit" na caixa de diálogo do
step Select Values e selecionar a opção "Rename columns".

Em resumo, o step Select Values é útil para selecionar apenas as colunas de


interesse de um grande conjunto de dados, o que pode ajudar a reduzir o tempo
de processamento e a simplificar a análise de dados.

Módulo 2 > Unidade 3 > 6. Steps de Transformação 40


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Figura 17

6.2. Filter Rows


O step Filter Rows no Pentaho Data Integration (também conhecido como Kettle)
é um componente que permite filtrar linhas de dados com base em uma
condição especificada. Esse step é muito útil para reduzir o tamanho de um
conjunto de dados, eliminando linhas que não são relevantes para a análise ou
para o processamento posterior.

Para usar o step Filter Rows, basta arrastá-lo para o design da transformação e
conectá-lo à fonte de dados de entrada. Em seguida, é preciso configurar o step,
definindo a condição que deve ser usada para filtrar as linhas. A condição é
especificada usando a sintaxe do SQL, e pode incluir operadores lógicos (AND,
OR), operadores de comparação (=, >, <) e funções de texto (como UPPER ou
LOWER).

Módulo 2 > Unidade 3 > 6. Steps de Transformação 41


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Por exemplo, se temos um conjunto de dados com informações sobre vendas,


podemos usar o step Filter Rows para selecionar apenas as vendas que foram
realizadas em um determinado país ou período de tempo. Para isso, podemos
configurar o step para filtrar as linhas em que a coluna "País" é igual a "Brasil" e
em que a coluna "Data" está entre 01/01/2022 e 31/12/2022, por exemplo.

Outra situação possível seria filtrar apenas as linhas que contêm um determinado
valor em uma coluna específica. Por exemplo: podemos usar o step Filter Rows
para selecionar apenas as linhas que contêm a palavra "importante" na coluna
"Descrição".

Em resumo, o step Filter Rows é útil para filtrar linhas de dados com base em
uma condição especificada, o que pode ajudar a reduzir o tamanho de um
conjunto de dados e torná-lo mais relevante para a análise ou processamento
posterior.

Figura 18

Módulo 2 > Unidade 3 > 6. Steps de Transformação 42


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

6.3. String Cut


O step String Cut no Pentaho Data Integration (também conhecido como Kettle) é
um componente que permite cortar uma parte de uma string em uma coluna
específica. Esse step é útil quando se trabalha com dados de texto e é necessário
extrair uma parte específica de uma string para uso posterior.

Para usar o step String Cut, basta arrastá-lo para o design da transformação e
conectá-lo à fonte de dados de entrada. Em seguida, é preciso configurar o step,
indicando qual coluna contém a string a ser cortada e qual o ponto de início e de
fim do corte.

Por exemplo, se temos um conjunto de dados com uma coluna "Nome Completo"
que contém o nome e o sobrenome de uma pessoa, podemos usar o step String
Cut para extrair apenas o sobrenome. Para isso, devemos configurar o step para
cortar a string da coluna "Nome Completo" a partir do último espaço em branco
(que indica o final do nome) até o final da string.

Além disso, é possível renomear a nova coluna gerada pelo step para um nome
mais descritivo, como "Sobrenome".

Outro exemplo seria cortar apenas uma parte da string, como o código postal em
um endereço. Nesse caso, seria preciso configurar o step para cortar a string da
coluna "Endereço" a partir de um ponto específico, que pode ser determinado
pela posição ou pelo valor do caractere.

Em resumo, o step String Cut é útil para extrair uma parte específica de uma
string em uma coluna, o que pode ajudar a simplificar a análise ou
processamento de dados de texto.

Módulo 2 > Unidade 3 > 6. Steps de Transformação 43


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Figura 19

6.4. Calculator
O step Calculator no Pentaho Data Integration (também conhecido como Kettle) é
um componente que permite realizar cálculos matemáticos e lógicos em colunas
de dados. Esse step é útil quando se precisa criar novas colunas com base em
cálculos a partir de colunas existentes.

Para usar o step Calculator, basta arrastá-lo para o design da transformação e


conectá-lo à fonte de dados de entrada. Em seguida, é preciso configurar o step,
definindo a expressão de cálculo que será aplicada às colunas existentes. A
expressão pode incluir operadores matemáticos (+, -, *, /), operadores lógicos
(AND, OR, NOT) e funções matemáticas (SIN, COS, MAX, MIN, dentre outras).

Módulo 2 > Unidade 3 > 6. Steps de Transformação 44


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Por exemplo, se temos um conjunto de dados com informações sobre vendas,


podemos usar o step Calculator para criar uma nova coluna "Total" que contém o
valor total de cada venda (multiplicando a quantidade pelo preço unitário). Para
isso, devemos configurar o step para criar a nova coluna "Total" com base nas
colunas "Quantidade" e "Preço Unitário", usando a expressão "Quantidade *
Preço Unitário".

Outro exemplo seria criar uma nova coluna com base em uma condição lógica.
Por exemplo, podemos usar o step Calculator para criar uma nova coluna "Venda
Bem sucedida" que contém um valor booleano (verdadeiro ou falso) indicando se
a venda foi bem sucedida ou não. Para isso, devemos configurar o step para criar
a nova coluna com base na coluna "Total", usando a expressão "Total > 1000".

Em resumo, o step Calculator é útil para realizar cálculos matemáticos e lógicos


em colunas de dados, o que pode ajudar a criar novas colunas com informações
relevantes para a análise ou para o processamento posterior.

Figura 20

Módulo 2 > Unidade 3 > 6. Steps de Transformação 45


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

6.5. String Operations


O step String Operations no Pentaho Data Integration (também conhecido como
Kettle) é um componente que permite executar operações específicas em
colunas de dados, como concatenação, substituição de valores e remoção de
espaços em branco. Esse step é útil para manipular os dados de entrada antes de
processá-los ou analisá-los.

Para usar o step Operations, basta arrastá-lo para o design da transformação e


conectá-lo à fonte de dados de entrada. Em seguida, é preciso configurar o step,
indicando qual coluna ou colunas serão manipuladas e qual a operação que será
executada.

Por exemplo, se temos um conjunto de dados com informações sobre clientes,


podemos usar o step Operations para criar uma nova coluna "Endereço
Completo" que contém o endereço completo do cliente (incluindo o nome da rua,
número, complemento, bairro, cidade e estado). Para isso, devemos configurar o
step para concatenar as colunas "Rua", "Número", "Complemento", "Bairro",
"Cidade" e "Estado", separando cada campo com vírgulas e espaços.

Outro exemplo seria substituir um valor específico em uma coluna. Por exemplo,
podemos usar o step Operations para substituir todos os valores "N/A" na coluna
"Idade" por um valor padrão de "30". Para isso, devemos configurar o step para
substituir todos os valores "N/A" na coluna "Idade" pelo valor "30".

Além disso, o step Operations também pode ser usado para remover espaços em
branco ou outros caracteres especiais de uma coluna, o que pode ajudar a
padronizar os dados de entrada.

Módulo 2 > Unidade 3 > 6. Steps de Transformação 46


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Em resumo, o step Operations é útil para executar operações específicas em


colunas de dados, o que pode ajudar a manipular e preparar os dados antes de
processá-los ou analisá-los.

Figura 21

7. Steps fluxo
Os steps de fluxo no Pentaho Data Integration são componentes que permitem
controlar o fluxo de dados e executar operações específicas em uma
transformação. Esses steps são usados para conectar as etapas de uma
transformação, controlar a ordem de execução, realizar verificações condicionais
e executar ações adicionais, como atualizar variáveis ou gravar dados em um
arquivo de log.

Entre os steps de fluxo disponíveis no Pentaho Data Integration, podemos citar:

1. Dummy: é usado para conectar steps, mas não faz nada além disso;
2. Block Until Steps Finish: aguarda a conclusão de determinados steps antes de
prosseguir para os próximos;
3. Failure: conecta um step de falha ao próximo passo no fluxo;
4. Filter Rows: filtra linhas com base em uma condição específica;
5. Group by: agrupa os dados com base em uma ou mais colunas de dados.

Módulo 2 > Unidade 3 > 7. Steps fluxo 47


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Além desses, existem vários outros steps de fluxo disponíveis no Pentaho Data
Integration. Esses steps permitem criar fluxos de trabalho personalizados para
processar e transformar dados de acordo com as necessidades específicas do
projeto. Em geral, os steps de fluxo são projetados para controlar a ordem de
execução dos steps em uma transformação e para realizar operações adicionais,
como filtragem, agrupamento ou espera condicional.

7.1. Dummy
O step Dummy é um componente simples e útil no Pentaho Data Integration que
não executa nenhuma operação real, mas é usado para conectar outros steps em
uma transformação. Ele pode ser usado como um "espaço reservado" para
conectar steps que ainda não foram definidos ou para criar fluxos alternativos na
transformação.

Em termos simples, o step Dummy é apenas uma etapa intermediária que não
faz nada. Quando uma transformação é executada, o step Dummy simplesmente
passa os dados de entrada para o próximo step sem modificar ou processar
esses dados.

Um exemplo de uso do step Dummy seria quando uma transformação é


projetada para ser executada de diferentes maneiras, dependendo de
determinadas condições. Nesse caso, é possível usar o step Dummy para criar
dois fluxos de trabalho diferentes que se unem novamente em um step comum.
Por exemplo, imagine que uma transformação deva processar dados de duas
fontes diferentes: um banco de dados e um arquivo CSV. Dependendo do tipo de
arquivo de entrada, a transformação pode precisar seguir um caminho diferente.
Usando o step Dummy, você pode criar dois fluxos de trabalho que executam as
operações específicas para cada fonte de dados e, em seguida, se juntam
novamente em um step comum para executar as próximas operações.

Módulo 2 > Unidade 3 > 7. Steps fluxo 48


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Embora o step Dummy seja relativamente simples, ele pode ser uma ferramenta
poderosa para criar fluxos de trabalho mais complexos e para conectar
operações em uma transformação do Pentaho Data Integration. Ele é
especialmente útil para criar transformações mais modulares e flexíveis, que
podem ser facilmente modificadas ou expandidas conforme necessário.

Figura 22

7.2. Block Until Steps Finish


O step "Block Until Steps Finish" no Pentaho Data Integration é usado para
controlar o fluxo de execução de uma transformação, esperando que uma ou
mais etapas anteriores sejam concluídas antes de continuar.

Este step é particularmente útil quando há etapas que devem ser concluídas
antes que outras possam começar, como a etapa de carga de dados em um
banco de dados, que deve ser concluída antes que uma etapa de limpeza possa
ser executada. Usando o step "Block Until Steps Finish", é possível definir uma
dependência explícita entre as etapas, garantindo que cada etapa seja executada
na ordem correta.

Módulo 2 > Unidade 3 > 7. Steps fluxo 49


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

O step "Block Until Steps Finish" é configurado selecionando as etapas anteriores


da transformação que devem ser concluídas antes que a execução continue.
Quando a transformação chega ao step "Block Until Steps Finish", ele verifica se
todas as etapas anteriores selecionadas estão concluídas antes de continuar a
execução.

Um exemplo prático de uso do step "Block Until Steps Finish" é quando você tem
uma transformação que processa dados em uma série de etapas. A última etapa
é a carga de dados em um banco de dados, que pode levar algum tempo para ser
concluída. Para garantir que a transformação seja executada corretamente, você
pode usar o step "Block Until Steps Finish" para garantir que todas as etapas
anteriores sejam concluídas antes que a etapa de carga de dados seja executada.
Dessa forma, você garante que os dados processados ​estejam corretos antes de
serem carregados no banco de dados.

Em resumo, o step "Block Until Steps Finish" é um componente útil do Pentaho


Data Integration que ajuda a controlar o fluxo de execução de uma
transformação, garantindo que as etapas sejam executadas na ordem correta e
que cada etapa seja concluída antes que a próxima comece.

Módulo 2 > Unidade 3 > 7. Steps fluxo 50


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Figura 23

7.3. Abort
O step Abort no Pentaho Data Integration é usado para interromper a execução
da transformação, seja devido a um erro ou a uma condição específica que
precisa ser atendida. Ele pode ser usado em situações em que você deseja parar
a execução da transformação devido a um problema, ou quando deseja
interromper a execução de uma maneira controlada.

O step Abort é configurado definindo a condição que deve ser atendida para que
a transformação seja interrompida. Essa condição pode ser um erro específico
que ocorreu em uma etapa anterior da transformação, ou pode ser uma
condição personalizada que você define usando variáveis ou expressões.

Um exemplo prático de uso do step Abort é quando uma transformação deve ser
interrompida se houver um erro em uma etapa específica. Nesse caso, o step
Abort pode ser configurado para interromper a execução da transformação se
houver um erro na etapa específica. Isso ajuda a evitar que erros sejam
propagados para etapas subsequentes da transformação, impedindo que dados
incorretos sejam processados.

Módulo 2 > Unidade 3 > 7. Steps fluxo 51


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Outro exemplo de uso do step Abort é quando você deseja interromper a


execução de uma transformação em uma determinada hora do dia,
independentemente do status atual da transformação. Nesse caso, você pode
usar uma expressão para definir a condição de interrupção, verificando a hora
atual do sistema em relação a um horário definido.

Em resumo, o step Abort é um componente útil do Pentaho Data Integration que


ajuda a controlar a execução da transformação, permitindo que você interrompa
a execução em situações específicas. Ele pode ser usado para evitar que erros
sejam propagados para etapas subsequentes, ou para interromper a execução
de uma maneira controlada, conforme necessário.

Figura 24

Módulo 2 > Unidade 3 > 7. Steps fluxo 52


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

7.4. Switch / Case


O step Switch / Case no Pentaho Data Integration é usado para rotear dados com
base em diferentes condições ou valores de entrada. É semelhante a uma
estrutura de controle switch/case usada em programação.

O step Switch / Case consiste em duas partes: o step Switch e os steps Case. O
step Switch define a coluna de entrada na qual se baseará a rotação dos dados,
enquanto os steps Case definem as diferentes condições ou valores nos quais os
dados serão roteados.

Um exemplo prático de uso do step Switch / Case é quando você tem um


conjunto de dados que precisa ser dividido em diferentes saídas com base em
um determinado campo. Digamos que você tenha um conjunto de dados de
vendas que inclui informações sobre os produtos vendidos, o país de venda e o
valor da venda. Você deseja dividir as vendas com base no país de venda e enviar
cada país para uma saída diferente.

Para fazer isso, você pode usar o step Switch / Case. Defina o campo "Country"
como a coluna de entrada do step Switch e adicione os steps Case para cada país
para o qual você deseja criar uma saída separada. Em cada step Case, defina a
condição correspondente para o país. Por exemplo, para os EUA, a condição seria
"Country = 'USA'". Em seguida, conecte a saída do step Switch aos steps Case
correspondentes e configure cada saída conforme necessário.

O step Switch / Case também pode ser usado para rotear dados com base em
outras condições, como o valor de uma coluna ou uma expressão. Por exemplo,
você pode criar diferentes saídas com base no valor de uma coluna de status, ou
rotear dados com base em uma combinação de colunas.

Módulo 2 > Unidade 3 > 7. Steps fluxo 53


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Em resumo, o step Switch / Case no Pentaho Data Integration é uma ferramenta


útil para rotear dados com base em diferentes condições ou valores de entrada.
Ele pode ser usado para dividir conjuntos de dados em saídas separadas com
base em um campo específico, ou para rotear dados com base em outras
condições, como valores de coluna ou expressões.

Figura 25

7.5. Blocking Step


O step Blocking Step no Pentaho Data Integration é usado para impedir que as
etapas subsequentes de uma transformação sejam executadas até que as etapas
de bloqueio sejam concluídas. Ele é especialmente útil quando há etapas
dependentes que precisam ser executadas em uma ordem específica.

O step Blocking Step é configurado adicionando os steps que precisam ser


bloqueados, na ordem em que devem ser executados, e definindo um nome de
grupo para identificar as etapas bloqueadas. Qualquer etapa subsequente na
transformação que precise dos dados das etapas bloqueadas não será executada
até que as etapas bloqueadas sejam concluídas.

Módulo 2 > Unidade 3 > 7. Steps fluxo 54


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Um exemplo prático de uso do step Blocking Step é quando você tem uma
transformação que lê dados de um arquivo, faz algumas transformações e, em
seguida, carrega os dados em um banco de dados. Para garantir que os dados
sejam carregados na ordem correta, você pode usar o step Blocking Step para
bloquear a etapa de carregamento até que todas as transformações sejam
concluídas.

Por exemplo, imagine que você tem um arquivo de dados com informações de
vendas, incluindo o produto, o país e o valor da venda. Você deseja ler os dados
do arquivo, separar as vendas por país, calcular a receita total para cada país e,
em seguida, carregar os dados em um banco de dados. Você pode usar o step
Blocking Step para bloquear a etapa de carregamento até que as transformações
de separação e cálculo de receita sejam concluídas.

Para fazer isso, adicione os steps de separação e cálculo de receita ao grupo de


bloqueio, configure a etapa de carregamento para ser executada após as etapas
bloqueadas e defina um nome de grupo para identificar as etapas bloqueadas.
Quando a transformação for executada, o step de carregamento será bloqueado
até que as etapas de separação e cálculo de receita sejam concluídas, garantindo
que os dados sejam carregados na ordem correta.

Em resumo, o step Blocking Step no Pentaho Data Integration é uma ferramenta


útil para impedir que as etapas subsequentes de uma transformação sejam
executadas até que as etapas de bloqueio sejam concluídas. Ele é especialmente
útil quando há etapas dependentes, que precisam ser executadas em uma
ordem específica, como ler dados de um arquivo, fazer transformações e carregar
os dados em um banco de dados.

Módulo 2 > Unidade 3 > 7. Steps fluxo 55


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Figura 26

Módulo 2 > Unidade 3 > 7. Steps fluxo 56


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

8. Outros Steps
8.1. Database lookup
O Database lookup é uma etapa (step) do Pentaho Data Integration (PDI) que
permite consultar informações em um banco de dados e inserir essas
informações em um fluxo de dados.

O Database lookup é especialmente útil quando você deseja combinar


informações de diferentes fontes de dados e consolidá-las em uma única tabela.
Por exemplo, você pode usar um Database lookup para pesquisar informações
do cliente em um banco de dados e adicioná-las a um arquivo de vendas.

Para usar o Database lookup no Pentaho Data Integration, é necessário


configurar a conexão com o banco de dados de origem e especificar as tabelas e
colunas que você deseja consultar. Você também pode definir condições de filtro
para limitar os resultados da consulta.

Um exemplo de uso do Database lookup é a combinação de dados de duas


tabelas em um único arquivo. Suponha que você tenha um arquivo com
informações de vendas e outro arquivo com informações de clientes. Você pode
usar o Database lookup para pesquisar o ID do cliente em um banco de dados e
adicionar as informações do cliente ao arquivo de vendas. Dessa forma, você
pode ter um arquivo com todas as informações necessárias para analisar as
vendas e os clientes juntos.

Módulo 2 > Unidade 3 > 8. Outros Steps 57


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Figura 27

8.2. HTTP Client


O HTTP Client é um componente do Pentaho Data Integration (PDI) que permite
enviar solicitações HTTP para um servidor web e receber respostas. Com o HTTP
Client é possível realizar diversas operações, como fazer download de arquivos,
enviar dados para APIs, consultar informações em serviços web, dentre outras.

Para usar o HTTP Client no PDI, é necessário configurar a URL do servidor e as


opções de autenticação, caso necessário. Também é possível definir os
cabeçalhos HTTP, os parâmetros de consulta e o corpo da solicitação,
dependendo da operação que você deseja realizar.

Módulo 2 > Unidade 3 > 8. Outros Steps 58


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Um exemplo de uso do HTTP Client é o envio de dados para uma API RESTful.
Suponha que você tenha um arquivo CSV com informações de clientes e deseja
enviar esses dados para uma API que armazena essas informações em um banco
de dados. Você pode usar o HTTP Client para enviar uma solicitação POST para a
URL da API, com o corpo da solicitação contendo os dados do arquivo CSV. A API
receberá a solicitação, processará os dados e retornará uma resposta indicando
se a operação foi bem sucedida ou não.

Outro exemplo de uso do HTTP Client é o download de arquivos de um servidor


web. Suponha que você precise fazer download de um arquivo CSV com
informações de vendas de um servidor web. Você pode usar o HTTP Client para
enviar uma solicitação GET para a URL do arquivo CSV e receber a resposta
contendo o arquivo. Em seguida, você pode usar outras etapas do PDI, como o
Text file input, para processar as informações do arquivo CSV.

Módulo 2 > Unidade 3 > 8. Outros Steps 59


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Figura 28

Módulo 2 > Unidade 3 > 8. Outros Steps 60


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Figura 29

Módulo 2 > Unidade 3 > 8. Outros Steps 61


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

8.3. Rest Client


O Rest Client é um componente do Pentaho Data Integration (PDI) que permite
interagir com APIs RESTful, que são serviços web que seguem o protocolo REST
(Representational State Transfer). Com o Rest Client é possível realizar operações
como obter informações, enviar dados e executar ações em serviços web.

Para usar o Rest Client no PDI, é necessário configurar a URL do serviço e as


opções de autenticação, caso necessário. Também é possível definir os
parâmetros da solicitação, como cabeçalhos HTTP, dados do corpo da solicitação
e parâmetros de consulta.

Um exemplo de uso do Rest Client é a obtenção de informações de um serviço


web. Suponha que você precise obter informações de um serviço web que
fornece dados de previsão do tempo. Você pode usar o Rest Client para enviar
uma solicitação GET para a URL do serviço web, especificando o local e o período
para os quais você deseja obter informações. O serviço web retornará uma
resposta contendo os dados de previsão do tempo para o período e o local
especificados.

Outro exemplo de uso do Rest Client é o envio de dados para um serviço web.
Suponha que você tenha um arquivo CSV com informações de vendas e deseje
enviar esses dados para um serviço web que armazena essas informações em
um banco de dados. Você pode usar o Rest Client para enviar uma solicitação
POST para a URL do serviço web, com o corpo da solicitação contendo os dados
do arquivo CSV. O serviço web receberá a solicitação, processará os dados e
retornará uma resposta indicando se a operação foi bem sucedida ou não.

Módulo 2 > Unidade 3 > 8. Outros Steps 62


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Figura 30

Módulo 2 > Unidade 3 > 8. Outros Steps 63


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

8.4. Join Rows


O Join Rows é uma etapa (step) do Pentaho Data Integration (PDI) que permite
combinar duas ou mais fontes de dados em uma única tabela, com base em uma
coluna em comum. O Join Rows é especialmente útil quando você precisa
consolidar dados de diferentes fontes em um único arquivo.

Existem vários tipos de Join Rows disponíveis no PDI, incluindo Inner Join, Left
Outer Join, Right Outer Join e Full Outer Join. Cada tipo de junção tem uma função
diferente e é selecionado com base nas necessidades do seu projeto.

Para usar o Join Rows no PDI, é necessário especificar as fontes de dados que
você deseja combinar e a coluna em comum que será usada como chave de
junção. Você também pode selecionar as colunas que deseja incluir na tabela
resultante e definir as opções de junção, como o tipo de junção e as condições de
filtro.

Um exemplo de uso do Join Rows é a combinação de informações de clientes de


diferentes fontes em uma única tabela. Suponha que você tenha um arquivo CSV
com informações de clientes e um banco de dados com informações de pedidos
de clientes. Você pode usar o Join Rows para combinar as informações de clientes
do arquivo CSV com as informações de pedidos de clientes do banco de dados,
usando o ID do cliente como chave de junção. Dessa forma, você pode ter uma
única tabela com todas as informações necessárias para analisar os clientes e
seus pedidos juntos.

Módulo 2 > Unidade 3 > 8. Outros Steps 64


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Outro exemplo de uso do Join Rows é a combinação de informações de vendas


de diferentes regiões em uma única tabela. Suponha que você tenha arquivos
CSV com informações de vendas de diferentes regiões e deseje consolidar essas
informações em uma única tabela. Você pode usar o Join Rows para combinar os
arquivos CSV usando a região como chave de junção e ter uma única tabela com
as informações de vendas de todas as regiões.

Figura 31

8.5. Merge Join


O Merge Join é uma etapa (step) do Pentaho Data Integration (PDI) que permite
combinar duas ou mais fontes de dados em uma única tabela, com base em uma
coluna em comum. O Merge Join é semelhante ao Join Rows, mas é mais eficiente
quando as fontes de dados já estão ordenadas pela coluna de junção.

Módulo 2 > Unidade 3 > 8. Outros Steps 65


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

O Merge Join usa uma estratégia de fusão (merge) para combinar as fontes de
dados. Isso significa que o Merge Join compara as colunas de junção nas
diferentes fontes de dados e, quando as colunas são iguais, adiciona a linha à
tabela resultante. O Merge Join é uma operação de junção de alta performance e
pode ser usado para combinar grandes conjuntos de dados.

Para usar o Merge Join no PDI, é necessário especificar as fontes de dados que
você deseja combinar e a coluna em comum que será usada como chave de
junção. Você também precisa garantir que as fontes de dados estejam ordenadas
pela coluna de junção. Você pode selecionar as colunas que deseja incluir na
tabela resultante e definir as opções de junção, como o tipo de junção e as
condições de filtro.

Um exemplo de uso do Merge Join é a combinação de informações de vendas de


diferentes lojas em uma única tabela. Suponha que você tenha arquivos CSV com
informações de vendas de diferentes lojas e queira consolidar essas informações
em uma única tabela. Você pode usar o Merge Join para combinar os arquivos
CSV, desde que cada arquivo esteja ordenado pelo ID da loja, que é a coluna de
junção. Dessa forma, o Merge Join combinará as informações de vendas das
diferentes lojas de forma eficiente, produzindo uma tabela resultante com todas
as informações necessárias para análise.

Outro exemplo de uso do Merge Join é a combinação de informações de clientes


de diferentes fontes em uma única tabela. Suponha que você tenha um arquivo
CSV com informações de clientes e um banco de dados com informações de
pedidos de clientes. Você pode usar o Merge Join para combinar as informações
de clientes do arquivo CSV com as informações de pedidos de clientes do banco
de dados, desde que cada fonte de dados esteja ordenada pelo ID do cliente, que
é a coluna de junção. O Merge Join produzirá uma tabela resultante com todas as
informações necessárias para análise dos clientes e seus pedidos.

Módulo 2 > Unidade 3 > 8. Outros Steps 66


Extração, Transformação e Carga - ETL
Extração, Transformação e Carga de Dados

Figura 31

Módulo 2 > Unidade 3 > 8. Outros Steps 67


Extração, Transformação e Carga - ETL
Processo de descoberta de conhecimento

Referências
ELMASRI, R.; NAVATHE, S. Sistemas de Banco de Dados [BV:PE].. 7. ed.. São
Paulo: Pearson, 2018.

HEUSER, C. Projeto de Banco de Dados. [BV:MB]. 6ª. Ed.. Porto Alegre:


ARTMED,2009.

PUGA, Sandra; FRANÇA, Edson; GOYA, Milton. Banco de Dados:


implementação em SQL, PL/SQL e Orable 11g [BV:PE]. 1. ed.. São Paulo:
Pearson, 2013.

RAMARKRISHMAN, R. Sistemas de gerenciamento de banco de dados.


[BE:MB]. 3ª Ed.. Porto Alegre: McGraw-Hill, 2008.

MACHADO, Felipe N. R. Banco de Dados - Projeto e Implementação [BV:MB].


3. ed.. São Paulo: Érica, 2014.

FONSECA, Cleber Costa da. Implementação de banco de dados. Banco de


Dados [BV:RE]. 1. ed.. Rio de Janeiro: SESES, 2016.

ALVES, William Pereira. Banco de Dados [BV:MB]. 1º Ed. São Paulo: Érica, 2014.

NETO, Geraldo H. MODELAGEM DE DADOS. [BV:RE]. 1. ed.. Rio de


Janeiro:SESES, 2015.

BALIEIRO, R. Banco de Dados [BV:RE]. 1.Ed. Rio de Janeiro: SESES, 2015.

Referências bibliográficas
68
@digitalcollegebr

/school/digitalcollegebr

/digitalcollegebr

digitalcollege.com.br

Você também pode gostar