TRANSFORMAÇÃO A PARTIR DE DOIS BANCOS UTILIZANDO O SPOON(KETTLE) NÉLI JOSÉ DA FONSECA JÚNIOR Ferramentas Utilizadas: PostgresSQL 8.3 Pentaho Data Integration 4.2.0 RC-1 Java Runtime Environment 1.6.0 Este tutorial mostra como fazer uma transformação no Spoon, a partir de dois bancos de dados. No caso iremos usar uma tabela no PostGIS e outra numa planilha do Microsoft Excel. Primeiro contendo informações sobre loteamentos na cidade de Ouro Preto. Já a planilha é uma tabela de lookup contendo a inscrição cadastral e o nome de cada proprietário dos lotes. Vamos mostrar uma extração de dados a partir de duas fontes, uma pequena transformação, tendo como chave de comparação a inscrição cadastral e por último uma atualização no banco de dados. Segue abaixo o modelo das duas tabelas utilizadas: tema_sede_lotes (PostGIS) proprietarios_lookup(Excel) 1 - Para iniciar, abra o Spoon e crie uma nova transformação: 2 – Abra a categoria Input e adicione os steps Excel Input e Table input. Em seguida, expanda a categoria Lookup e adicione o step Stream lookup. Da categoria Output, adicione o step Update. Por fim, crie os hop’s para conectar os steps, de acordo com a figura abaixo. 3 – Edite o step Excel input com os seguintes parâmetros: Aba Files: File or Directory: Localize o arquivo de lookup com o botão navegar. Em seguida clique em Add para adicionar o arquivo ao grid. Para ter certeza que o arquivo foi localizado clique no botão Show Filename. Aba Sheets: Clique no botão Get Sheetname e escolha a planilha desejada. Se o nome da planilha não aparecer na lista, reveja os parâmetros da aba Files. Aba Content: Certifique-se que o campo Header esteja marcado. Escolha o encondig correto em que o arquivo foi escrito. Geralmente é UTF-8 ou ISO8859-1. Aba Fields: Clique no botão Get Fields From Header Now e veja todos os campos disponíveis no arquivo. De uma olhada nos dados que serão extraídos do arquivo, clicando no botão Preview Rows. Clique em OK e salve a transformação. 4 – Edite o step Table Input com os seguintes parâmetros: No campo Connection, clique em New e adicione uma conexão com o banco de dados de sua escolha. No caso eu usei o PostGIS. Clique em Get Sql Statement... e selecione a tabela que deseja utilizar. Se prefererir você pode escrever uma consulta utilizando SELECT...FROM...WHERE para selecionar as tabelas e campos desejados. Novamente de uma olhada nos dados que serão extraídos do arquivo, clicando no botão Preview. Clique em OK e salve a transformação. 5 – Antes de editar o step Stream Lookup, dê uma olhada no fluxo de registro de entradas. Clique com o botão direito em cima do step e vá em Mostrar Campos de Entrada. Deverá ser exibido todos os campos que você selecionou proveniente das duas fontes. 6 – Edite o Stream Lookup com os seguintes parâmetros: Lookup Step: Escolha a tabela de lookup, no caso será a tabela do Microsoft Excel. Clique nos botões Get fields e Get lookup fields. As grades de campos deverão ter a configuração da figura abaixo. Na grade de cima você deverá deixar apenas as chaves usadas para realizar a transformação. No caso em Field deixarei apenas inscricao_cadastral e em LookupField ficará INSC_CADASTRAL. Na grade de baixo você selecionará o campo que fornecerá os dados, no caso é o PROPRIETARIO2. É bom também adicionar um novo nome na coluna ao lado para que ele não seja alterado. As grades deverão ter a configuração abaixo: 7 – Vamos agora editar o último step, Update: Como você já adicionou uma conexão no step Table Input, é provavel que a conexão já esteja adicionada no Update, mas assim mesmo é bom verificar. No campo Target Table clique em Browse e selecione a tabela utilizada. Na grade de cima clique em Get Fields e remova todos, com exceção do campo que será utilizado como chave para a transformação. No caso é o inscricao_cadastral. Na grade de baixo em Table Field selecione o campo que receberá os dados provenientes da transformação, no caso é o campo proprietario. Em Stream Field você selecionará o campo que irá fornecer os dados, caso você tenha modificado o nome na step Stream Lookup, será o novo nome que você utilizará, no caso é o prop. As grades deverão ter a configuração abaixo: 8 – Por fim, salve a transformação e a execute. Atualize seu banco e veja o resultado gerado.