pentaho material

Upload: fabio-apolinario

Post on 05-Apr-2018

258 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/2/2019 Pentaho Material

    1/37

    Exerccio 1Criando a transformao Hello World

    1 Crie uma pasta chamada pdi_labs no seu computador.

    2 Abra o Spoon.

    3 A partir do menu principal escolha Arquivo -> Nova Transformao. Ser mostrada

    a transformao Transformation 1 na rea de trabalho.

    Obs.: Caso deseje, utilize as teclas de atalho CTRL-N

    4 Do lado direito da tela mostrada a rvore de steps. Clique na opo Design e

    Expanda a opo Input.

    5 Arraste e solte o cone do step Generate Rows para a rea de trabalho da

    transformao.

    6 D um duplo-clique para abrir o step e digite os dados abaixo e clique OK em

    seguida:

    Nome do step: Gera 10 mensagens

    Em Fields:

    o Nome: mensagemo Tipo: Stringo Valor: Hello World!

  • 8/2/2019 Pentaho Material

    2/37

    Obs.: Voc tambm pode abrir o step para edio clicando com o boto direito e

    escolhendo a opo Editar Step.

    7 Na rvore de steps, expanda a opo Flowe arraste e solte o cone do step Dummy

    para a rea de trabalho da transformao.

    8 Vamos criar um hop para ligar os dois steps. Clique com o boto direito no step

    Generate Rows, segure a tecla Shifte arraste o cursor do mouse para o step Dummy.

    9 Vamos adicionar uma nota transformao. Clique com o boto direito em

    qualquer parte da rea de trabalho da transformao e escolha a opo Nova Nota.

    Digite o texto da nota.

    10 Salve a transformao na pastapdi_labs com o nome hello_world. Ser gerado

    um arquivo XML com extenso .ktr.

    11 Podemos rodar uma prvia da transformao, antes de sua execuo real. Clique

    com o boto direito no step Dummye escolha a opo Preview.

    Obs.: Voc poder rodar a previso da transformao clicando no step desejado e, em

    seguida, clicando no cone Previewda barra de opes.

  • 8/2/2019 Pentaho Material

    3/37

    12 Aps carregar a janela de dilogo de Preview, clique no boto Quick Launch para

    visualizar o resultado da transformao.

    13 O que foi feito nessa transformao? O step Generate Rows simplesmente gera

    vrias linhas de registros, de acordo com os parmetros informados. Experimente

    editar o step para acrescentar outros campos e mudar o tamanho do conjunto de

    registros gerados. O step Dummyapenas recebe os registros gerados e no faz nada.

    14 Um pequeno detalhe: ns no executamos a transformao, apenas visualizamos

    uma prvia de sua execuo. Para executar a transformao clique no boto Run e

    aps abrir a janela de dilogo clique no boto Launch.

    15 O resultado real da execuo aparece na aba do log. As mtricas de execuo

    aparecem na aba da janela do log. O nvel de detalhe do log de execuo pode ser

    configurado na tela anterior.

    Obs.: na execuo de grandes volumes de dados recomenda-se deixar o nvel do log

    como Basic.

  • 8/2/2019 Pentaho Material

    4/37

    Exerccio 2Criando a transformao Hello World Fulano

    1 Vamos expandir a transformao do exerccio anterior para obter dados de uma

    fonte, fazer uma pequena transformao nos dados e armazenar o resultado em um

    arquivo texto. Crie um arquivo texto com os dados abaixo:

    Fulano

    Sicrano

    Beltrano

    Salve o arquivo na pastapdi_labs com o nomefulano.txt.

    2 Crie uma nova transformao e salve-a com o nome de hello_world_fulano.ktr. O

    objetivo dessa transformao ler o arquivo texto acima, adicionar a frase Hello

    World e uma sequncia para cada frase criada. Ao final, todas as frases criadas sero

    gravadas em um arquivo texto.

    3 Adicione um step Text file inputda opo Input. Edite o step com as seguintes

    informaes:

    - na aba File, campo File or directory, clique no no boto Navegarpara localizar o

    arquivofulano.txt. Em seguida, clique no botoAddpara colocar o arquivo na lista.

    - Na aba Content, desmarque a opo Header. Se voc no fizer isso, o Spoon

    entender que a primeira linha do arquivo texto um cabealho com o nome de um

    ou mais campos.

    - Na aba Fields, digite o nome do campo (nome) e o seu tipo (String). Clique OK.

  • 8/2/2019 Pentaho Material

    5/37

    4 Adicione um stepAdd constants, do tipo Transform. Edite o step com as seguintes

    informaes nos campos Nome, Tipo e valor:

    - Nome: mensagem; Tipo: String; Valor=Hello World

    - Nome: exclamao; Tipo: String; Valor=!

    -Nome: espao; Tipo: String; Valor= (espao em branco)

    5 Crie um hop ligando os dois steps.

    6 Ainda nos steps do tipo Transform, adicione umAdd Sequence. Em seguida, crie um

    hop ligando oAdd constants aoAdd sequence. Edite esse step para ver os seus

    parmetros (no vamos alter-los para esse exerccio).

    7 Entre nas opes de steps do tipo Outpute adicione um step Text file output. Em

    seguida, crie um hop ligando o stepAdd sequence a Text file output. Edite as

    configuraes do step:

  • 8/2/2019 Pentaho Material

    6/37

    - Na aba File, digite o caminho de um arquivo de texto com o nome resultado (o step

    adiciona por default a extenso .txt) no campo Filename.

    - Na aba Content, limpe o contedo do campo Separator(caso contrrio, o step

    colocar um separador na sada do arquivo) e desmarque a opo Header.

    - Na aba Fields, clique no boto Obtm campos. Se tudo foi feito corretamente at

    agora, sero mostrados os campos de acordo com a figura abaixo. Observe que os

    campos foram gerados pelos steps anteriores.

    Queremos que seja gravada no arquivo a mensagem

    . Para que isso ocorra devemos

    modificar a ordem dos campos. Clique com o boto direito em cima do campo

    valuename e escolha a opo move up. Repita a operao at que o campo valuename

    seja o primeiro da lista. Repita a operao com os demais campos. A figura abaixo

    mostra a disposio final dos campos.

    8 Salve a transformao e execute em seguida. O resultado gerado um arquivo

    texto com as seguintes linhas:

  • 8/2/2019 Pentaho Material

    7/37

    1 Hello World Fulano!

    2 Hello World Sicrano!

    3 Hello World Beltrano!

    Exerccio 3 Criando uma conexo com um banco de dados.

    1- Nos exerccios anteriores mostramos como obter dados a partir de uma fonte dedados baseada em arquivos texto. Para os exerccios futuros precisaremos extrair,

    transformar e carregar dados em tabelas de um banco. Para facilitar o processo de

    aprendizagem, vamos utilizar o SGBD open source Apache Derby. Faa o download

    da ltima verso atravs da url

    http://db.apache.org/derby/derby_downloads.html.

    2- Descompacte o arquivo em uma pasta no seu computador. Em seguida, copie oarquivo/lib/derby.jarpara a pasta/JDBC/libextde sua instalao do PDI.

    3- Abra o Spoon e carregue a transformao do exerccio anterior. Em seguida, cliqueno boto Viewna barra lateral. Expanda a aba Conexes.

    4- Com o boto direito, clique em cima da opo Conexes e escolha Novo.5- Na aba General, digite os seguintes parmetros:

    - Connection type: Generic database

    - Access: Native (JDBC)

    - Custom Connection Url: jdbc:derby:/;create=true

    - Custom Driver Class Name: org.apache.derby.jdbc.EmbeddedDriver

    http://db.apache.org/derby/derby_downloads.htmlhttp://db.apache.org/derby/derby_downloads.htmlhttp://db.apache.org/derby/derby_downloads.html
  • 8/2/2019 Pentaho Material

    8/37

    6 Clique no boto Test para verificar se a conexo com o banco est OK. Em seguida,

    retire o texto ;create=true da Url de conexo (caso contrrio, as tabelas sero

    apagadas e criadas a cada inicializao da conexo). Clique em OK.

    6- Podemos tornar a conexo visvel para todas as transformaes e Jobs de nossainstalao do PDI. Para isso, clique com o boto direito em cima da conexo criada

    e escolha a opo Share. Note que o texto da conexo est em negrito agora.

    7- O banco criado est vazio, sem nenhuma tabela. Mais adiante vamos utilizar essa eoutras conexes para a modelagem dimensional e a execuo do processo de ETL.

    Exerccio 4 Extraindo dados de um arquivo texto, realizando uma transformao e

    carregando o resultado em um arquivo texto.

    1 Para realizar esse exerccio voc precisar de dois arquivos armazenados na pasta

    Bases: capes.xls e ies.csv. O primeiro contm informaes sobre a avaliao dos

    programas de Ps-Graduo das Instituies de Ensino Superior (IES) do pas. O

    segundo arquivo uma tabela de lookup contendo o cdigo e a sigla das IESs. Vamos

    mostrar a extrao de dados a partir de dois arquivos (Excel e CSV), uma pequena

    transformao e o carregamento dos dados em um arquivo texto. Abra a planilha e

    veja que o campo ies possui a sigla da instituio. Queremos gravar em um arquivotexto parte dos dados da planilha e o cdigo da instituio no lugar de sua sigla.

    Para iniciar, abra o Spoon e crie uma nova transformao.

    2 Abra a categoria Inpute adicione os steps Excel Inpute CSV file input. Em seguida,

    expanda a categoria Lookup e adicione o step Stream lookup. Da categoria Transform,

    adicione o step Select values. Da categoria Output, adicione o step Text file output. Por

    fim, crie os hops para conectar os steps, de acordo com a figura abaixo.

  • 8/2/2019 Pentaho Material

    9/37

    3 Edite o step Excel inputcom os seguintes parmetros:

    Aba Files

    o File or directory: localize o arquivo capes.xls com o boto Navegar. Emseguida, clique emAddpara adicionar o arquivo ao grid. Para ter

    certeza que o arquivo foi localizado, clique no boto Show filename(s).

    Aba Sheets

    o Clique no boto Get sheetname e escolha a planilha desejada. Se onome da planilha no aparecer na lista, reveja os parmetros da aba

    Files.

    Aba Content

    o Certifique-se que o campo Headeresteja marcado (vamos precisar delena prxima aba).

    o Esse arquivo foi gravado no Linux! Mude o campo Encoding para UTF-8.Aba Fields

    o Clique no boto Get fields from header nowe veja todos os camposdisponveis no arquivo.

    o D uma olhada nos dados que sero extrados do arquivo, clicando noboto Preview rows. Clique Oke salve a transformao.

    4 Edite o step CSV file inputcom os seguintes parmetros:

    Filename: localize o arquivo ies.csvcom o boto Navegar.Delimiter: ; (ponto-e-vrgula)

    Desmarque a opo Lazy conversion.

    Clique no boto Obtm campos e veja os campos que sero lidos.

    Clique no boto Previewpara visualizar uma amostra dos dados.

    o Na grade com os campos, diminua o tamanho do campo idIES para 1(propriedade Length). Rode novamente opreview.

    o Retire o smbolo da moeda (R$) da propriedade Currency.

  • 8/2/2019 Pentaho Material

    10/37

    5 Antes de editar o step Stream lookup, d uma olhada no fluxo de registros de

    entrada. Clique com o boto direito em cima do step e escolha a opo Mostra campos

    de entrada. Devero ser exibidos 41 campos (39 da planilha e 2 do arquivo texto).

    6 Edite o step Stream lookup com os seguintes parmetros:Lookup step: escolha o step CSV file input.

    Clique nos botes Get fields e Get lookup fields. As grades de campos devero

    ter a configurao da figura abaixo.

    Na grade de cima, remova todos os campos, deixando apenas o campo ies. Em

    Lookup Fieldescolha o campo sigla_IES.

    Na grade de baixo, remova o campo sigla_IES. No campo idIES, digite o valor

    id_instituicao na propriedade New name. As grades devero ter a configurao

    abaixo. Salve a transformao.

    Na rea de trabalho, clique com o boto direito em cima do step Stream lookup

    e escolha a opo Mostra campos de sada. Observe que temos agora 40

    campos (o ltimo o campo que denota o idda instituio).

  • 8/2/2019 Pentaho Material

    11/37

    7 Suponha que no precisamos de todos os campos vindos da planilha. Alm disso,

    queremos modificar o nome dos campos que sero carregados ao final do processo de

    transformao. Edite o step Select values com os seguintes parmetros:

    Aba Meta-data

    o Fieldname: escolha o campo area digite id_area na propriedade Renameto e escolha Integerna propriedade Type.

    o Repita a operao com o campo codigo_programa, com o nomeid_programa. A grade dever ter a configurao abaixo.

    Aba Remove

    o Clique no boto Get fields to remove e exclua os seguintes campos: area, codigo_programa, ies, nome_programa, inicio_mestrado,

    inicio_doutorado, conceito_recomendado e id_instituicao.

    A lista de campos que queremos excluir dever ter aconfigurao abaixo.

    Salve a transformao e veja os campos de sada do step, clicando com o boto direito

    em cima dele.

    8 Vamos editar o step Text file outputcom os seguintes parmetros:

    Aba File

    o Filename: \resultadoAba Fields

    o Clique no boto Obtm campos e veja os campos que sero gravados.Alteraes de formato, tamanho, etc. podero ser feitas diretamente na

    grade.

    o Clique no boto Minimal width e veja que o step fornece um formatopadro para os campos.

    9 - Salve a transformao. Na rea de trabalho, clique com o boto direito em cima do

    step Text file outpute escolha a opo Preview. Na janela de dilogo, marque a opo

  • 8/2/2019 Pentaho Material

    12/37

    Text file output, conforme a figura abaixo. Se tudo foi configurado corretamente, ser

    mostrada uma amostra dos dados que sero gravados.

    10 Execute a transformao e veja o arquivo gerado. O que fizemos nessatransformao?

    Mostramos como extrair dados de dois arquivos com formatos diferentes (.xls e

    .csv).

    Fizemos duas transformaes nos dados extrados: trocamos o nome da IES por

    seu cdigo e retiramos os campos que no queramos gravar. Alm disso,

    alteramos os metadados de dois campos.

    Carregamos o resultado da transformao em um arquivo texto.

    Exerccio 5 Extraindo dados de um conjunto de arquivos

    1 Para esse exerccio vamos utilizar as planilhas armazenadas na pasta

    /pdi_labs/base/planilhas. Crie uma nova transformao e copie/cole os steps e hops

    da transformao do exerccio anterior.

    2 Edite o step Excel input. Na grade de arquivos selecionados da aba Files, marque o

    arquivo capes.xls e clique no boto Delete.

    3 Acesse a pastaplanilhas e adicione todos os arquivos na grade usando o botoAdd

    (Ok...no precisa adicionar todos. So 45 arquivos ). Verifique se o step carregou os

    arquivos clicando no boto Show filename(s).

  • 8/2/2019 Pentaho Material

    13/37

    4 Na aba Sheets exclua a planilha do exerccio anterior e clique em Get sheetname(s)

    para pesquisar pelas planilhas de todos os arquivos selecionados no passo anterior.

    Escolha a planilha plan1.

    5 - Na aba Contentcertifique-se que o campo Headeresteja marcado e que o Encoding

    do arquivo seja UTF-8 ou ISO-8859-1 (experimente colocar outra codificao e veja o

    que ir ocorrer).6 Na aba Fields clique no boto Get fields from header now, lembrando-se de limpar

    a lista de campos do exerccio anterior (confirme na janela de dilogo). Salve a

    transformao e execute-a. Veja o resultado do arquivo gerado pela transformao.

    Exerccio 6 Extraindo dados de um conjunto de arquivos, usando expresses

    regulares.

    1 A soluo adotada no exerccio anterior pode ser refeita para evitar a incluso de

    cada arquivo manualmente (imagine uma aplicao real com milhares de arquivos).

    Abra a transformao do exerccio anterior e edite o step Excel input.

    2 Na aba Files, exclua todos os arquivos da grade Selected files. No campo File ou

    directorydigite o caminho para a pasta onde as planilhas esto armazenadas (ex.:

    E:\pdi_labs\bases\planilhas\). Adicione o caminho lista de arquivos clicando no

    botoAdd.

    3 No campo Selected files, digite a seguinte expresso na propriedade Wildcard:

    .*\.xls

  • 8/2/2019 Pentaho Material

    14/37

    4 Para garantir que os arquivos sero lidos usando a expresso regular, clique noboto Show filename(s) e veja a lista de arquivos que sero lidos. Salve a

    transformao e execute-a, observando o arquivo gerado.

    Exerccio 7 Selecionando, alterando campos e gerando a sada em uma planilha.

    1 Vamos melhorar o cabealho do arquivo gerado. Abra o exerccio anterior e edite o

    step Select values. Remova todos os campos selecionados nas abas Remove e Meta-

    data.

    2 Na aba Select & Alterdigite os nomes dos campos, de acordo com a figura abaixo.

    Salve a transformao e veja os campos de sada do step.

    3 Clique no step File text output e apague-o. Da categoria Output, crie um step do

    tipo Excel output. Crie um hop ligando os steps Select values e Excel output.

    4 Edite o step Excel outputcom os seguintes parmetros:

    Aba File

    o Filename: o caminho e nome da planilha gerada.Aba Fields

    o Clique nos botes Obtm campos e Minimal Width(opcional) Aba Content

    o Explore as opes da aba (Split, sheet name, protect, templates)5 Salve a transformao e veja a sua execuo.

  • 8/2/2019 Pentaho Material

    15/37

    Exerccio 8 Obtendo informaes do sistema.

    1 Vamos acrescentar uma informao correspondente data e hora em que o

    registro foi gravado no arquivo. Abra a transformao do exerccio anterior e crie um

    step Get system info da categoria Input. Coloque esse step entre o Select values e oExcel output. Crie os hops ligando os steps, de acordo com a figura abaixo.

    2 Edite o step Get system info com os seguintes parmetros:

    3 Edite o step Excel output, com as seguintes alteraes:

    Na aba Fields, clique no boto Obtm campos, e verifique se o campo

    data_hora_atualizacao ser exibido.

  • 8/2/2019 Pentaho Material

    16/37

    4 Salve a transformao e execute-a. Veja o arquivo gerado.

    Exerccio 9 Aplicando formatos para datas e nmeros.

    1 Voc deve ter notado que os registros gravados nos arquivos dos exerccios no

    possuem uma formatao adequada. Antes de colocar os formatos corretos devemos

    escolher qual step dever formatar os valores. Por uma questo de coeso, os steps

    mais adequados so aqueles relacionados s atividades de transformao. Vamos

    editar o step Select values para aplicar os formatos.

    2 No step Select values, marque todas as linhas da aba Select & alter, recorte e cole

    na aba Meta-data. Complete as propriedades com os valores abaixo.

    3 Edite o step Excel output, abrindo a aba Fields. No campo data_hora_atualizacao

    digite o seguinte formato: dd/MM/yyyy HH:mm:ss

    Se existir, limpe o formato dos demais campos.

    4 Salve a transformao, execute-a e observe o arquivo gerado.

    Exerccio 10 Extraindo uma lista com dados de pases de um arquivo XML.

    1- Para esse exerccio vamos utilizar o arquivo countries.xmlque encontra-se na pasta/pdi_labs/bases/xml. Abra o arquivo e observe a sua estrutura.

    2- Crie uma nova transformao e adicione os steps Get data from XML e Exceloutput. Crie um hop ligando os steps.

  • 8/2/2019 Pentaho Material

    17/37

    3- Edite o step Get data from XML, com os seguintes parmetros:Aba File

    o File or directory: encontre o arquivo countries.xmle adicione lista.Aba Content

    o Clique no boto Get Xpath nodes e selecione/world/country/languageAba Fields

    o Preencha a grade de acordo com a figura abaixo.

    4- Clique em Preview rows para visualizar uma prvia dos dados extrados.

  • 8/2/2019 Pentaho Material

    18/37

    5- Salve a transformao e edite o Step Excel output para gravar o resultado em umaplanilha.

    6- Rode a transformao e veja os dados dos pases em formato de planilha.

    Exerccio 11 Calculando valores de novos campos

    1 Para executar esse exerccio, localize o arquivo notas-fulano.txtna pasta Bases do

    material do curso. Esse arquivo descreve as notas de 3 alunos. Queremos converter as

    notas da escala de 0 a 10 para uma escala de 0 a 5 e calcular a mdia para cada aluno.

    2 Crie uma nova transformao e adicione um step Text file input. Edite o step e

    informe a localizao do arquivo, conforme mostrado nos exerccios anteriores. Na aba

    Fields, clique em Obtm campos para recuperar os cabealhos dos campos e faa umpreview dos dados.

    3 Adicione um step Select values. Crie um hop ligando o Text file input ao Select

    values. Edite esse ltimo step com os parmetros mostrados na figura abaixo. Esse

    step necessrio para formatar os dados lidos no arquivo.

    4 Da categoria Transform, crie um step do tipo Calculator. Crie um hop ligando o

    Select values a esse novo step. Edite o step de acordo com a figura abaixo.

  • 8/2/2019 Pentaho Material

    19/37

    O que fizemos aqui? Basicamente, definimos um fator de converso das notas

    (fator_divisao). Depois, dividimos as quatro notas pelo fator, criando quatro novos

    campos (nota_1_nova, ...). Em seguida, utilizamos quatro campos auxiliares para fazer

    o somatrio das notas (numero_notas, aux1, aux2 e total). Por fim, calculamos a mdia

    e armazenamos o resultado em um novo campo (media). Faa um preview na

    transformao e voc dever ver os novos campos.

    5 Crie um novo step Select values e hop ligando o Calculatorao novo step. Selecione

    e altere os campos que sero enviados para o step de carregamento, de acordo com a

    figura abaixo.

    6 Crie um step Dummy apenas para visualizar os dados em modo de preview (se

    preferir, salve o resultado em um arquivo texto ou planilha). O preview dos dados

    dever ser semelhante ao da figura abaixo. Salve a transformao.

  • 8/2/2019 Pentaho Material

    20/37

    Exerccio 12 Calculando valores dos campos verso com step Formula.

    1 Vamos explorar uma nova forma de converter as notas e calcular as mdias do

    exemplo anterior. Abra a transformao salva anteriormente e exclua o step

    Calculator.

    2 Na categoria Scripting, crie um novo step do tipo Formula e posicione-o no lugar

    ocupado pelo Calculator. Recrie os hops que foram excludos quando voc apagou o

    Calculator.

    3- Edite o step Formula. Em New Field, adicione um campo chamado nota1. Clique na

    clula da coluna Formula, ao lado do campo que voc acabou de criar. Ser exibida

    uma janela de dilogo (despreze a mensagem de erro). Na parte superior da janela,

    digite [nota_1]/20. Clique em Ok e volte para a grade de incluso dos campos.

    4 Repita o processo para os demais campos, de acordo com a figura abaixo.

  • 8/2/2019 Pentaho Material

    21/37

    5 Crie um quinto campo chamado media e digite a frmula

    average([nota_1];[nota_2];[nota_3];[nota_4])/20.

    6 Edite o segundo step Select values para selecionar os campos que sero

    armazenados, conforme a figura abaixo. Teste a transformao em preview. Salve a

    transformao.

    Exerccio 13 Criando agregaes em grupos de linhas.

    1 Abra a transformao do exerccio anterior. Crie um step Value Mapper, da

    categoria Transform e ligue o ltimo Select values com ele. Em seguida, crie um step

    Group by, da categoria Statistics.

  • 8/2/2019 Pentaho Material

    22/37

    2 Altere o segundo Select values, na aba Meta-data, para arredondar o valor do

    campo media.

    3 Edite o step Value Mapper, com os seguintes parmetros da figura abaixo:

    Faa um preview dos dados e veja se o step mapeou o valor arredondado da mdia

    para um conceito, variando entre A e E.

  • 8/2/2019 Pentaho Material

    23/37

    4 Edite o step Group by de acordo com a figura abaixo.

    Esse step ir agregar as linhas a partir campo conceito e exibir o nmero de

    ocorrncias de cada agrupamento (fique vontade para testar outras funes de

    agregao desse step). Salve a transformao e testa-a no preview.

    Exerccio 14 Filtrando linhas de um dataset

    1 Abra a transformao anterior e crie um step do tipo Filter rows, da categoria Flow.

    Crie um segundo step Dummye crie os hops de acordo com a figura abaixo.

  • 8/2/2019 Pentaho Material

    24/37

    2 Edite o step Filter rows, com os parmetros da figura abaixo.

    3 Salve a transformao e faa um preview em cada step Dummyda transformao.

    Note que o fluxo enviado para cada step varia de acordo com a condio informada no

    Filter rows.

    Exerccio 15 Exemplo de cpia do stream do dataset

    1 Abra uma nova transformao e crie um step Excel input. Acesse o arquivo

    areas.xls, disponvel na pasta bases do material do curso. Obtenha a planilha (aba

    Sheets) e recupere os campos (aba Fields, com o boto Get fields...). D um preview

    para visualizar os dados carregados.

  • 8/2/2019 Pentaho Material

    25/37

    2 Crie dois steps do tipo Dummy e dois hops, saindo simultaneamente do step Excel

    input e conectados com cada Dummy, de acordo com a figura abaixo.

    Ao aparecer a janela de dilogo, responda que voc quer realizar uma cpia.

  • 8/2/2019 Pentaho Material

    26/37

    3 Execute a transformao e observe a quantidade de registros lidos por cada stepDummy.

    Exerccio 16 Exemplo de distribuio do stream do dataset

    1 Abra a transformao do exerccio anterior, clique com o boto direito em cima do

    step Excel inpute escolha a opo Movimento dos dados -> Distribui os dados para os

    prximos steps.

    2 Execute a transformao e veja o nmero de registros lidos por cada step Dummy.

  • 8/2/2019 Pentaho Material

    27/37

    Exerccio 17 Exemplo de distribuio do stream usando o step Switch/Case.

    1 Abra a transformao do exerccio anterior e acrescente um step Switch/Case, da

    categoria Flow e um terceiro step Dummy, conforme a figura abaixo.

    2 Edite o step Switch/case, de acordo com as configuraes abaixo.

  • 8/2/2019 Pentaho Material

    28/37

    3 Salve a transformao e execute-a, observando a quantidade de registros lidos por

    cada step Dummy. Caso queira conferir os registros que foram lidos em cada step

    Dummy, faa um preview e observe como o step Switch/Case realizou o filtro baseado

    no valor do campo cod_area.

    Exerccio 18 Fazendo converses no rowset.

    1 Para realizar esse exerccio, precisaremos do arquivo movies.txt, localizado na

    pasta bases do material distribudo. Abra uma nova transformao e crie um step Text

    File input. Acesse o arquivo movies.txt, adicione lista de arquivos selecionados. Na

    aba Contents coloque : (dois pontos) como separador. Desmarque as opes Headere

    No empty rows. Na aba Fields, crie dois campos: caracteristica e descricao. Obtenha

    uma preview dos dados e veja os valores carregados.

  • 8/2/2019 Pentaho Material

    29/37

    Note que as caractersticas variam em quantidade para cada filme.

    2 Nesse exerccio, vamos utilizar alguns steps voltados para auxiliar o trabalho do

    projetista. Inicialmente, vamos criar um step do tipo Modified Javascript value, da

    categoria Scripting. Esse step permite a criao de campos atravs de linhas de cdigo

    em Javascript. Queremos criar uma coluna Film, no dataset lido do arquivo texto. Ligue

    o Text Input file a esse step com um hop e edite-o, de acordo com os parmetros

    abaixo.

  • 8/2/2019 Pentaho Material

    30/37

    Esse cdigo cria um campo Film e preenche o seu valor com o nome do filme. D um

    preview no step e verifique se o campo ser preenchido corretamente.

    3 Em seguida, crie um step do tipo Filter rows. Nosso objetivo agora filtrar todas as

    linhas que esto com o campo descricao nulo. Edite esse step com a seguinte

    condio:

    4 O prximo passo fazer a converso dos dados de linhas para colunas. Para isso,

    vamos criar um step do tipo Row denormalizer, da categoria Transform. Edite esse

    step de acordo com a figura abaixo.

  • 8/2/2019 Pentaho Material

    31/37

    A partir do campo filme, a linhas com o contedo Ano, Gnero, Diretore Atores so

    convertidas em colunas, com o valor do campo descrio. D um preview na

    transformao e veja os valores convertidos.

    5O ltimo passo preencher as colunas com valores vazios com a string n/a. Para

    isso, vamos criar um step do tipo If field value is null, da categoria Utility. Edite o step

    de acordo com os parmetros abaixo.

    Salve a transformao e execute o seu preview. O resultado dever ser semelhante ao

    da figura abaixo.

  • 8/2/2019 Pentaho Material

    32/37

    Exerccio 19 Validando dados do rowset.

    1 Para esse exerccio vamos utilizar o arquivo capes.xls, localizado na pasta bases do

    material do curso. Crie um step Excel input e leia o arquivo, conforme mostrado nosexerccios anteriores.

    2 Em seguida, vamos criar um step para validar os campos do dataset lido. Queremos

    impedir que um determinado campo nulo seja repassado para os steps de

    carregamento. Crie um step do tipo Data Validator, da categoria Validation. Edite o

    step e clique no boto New validation. D um nome para a validao e edite os seus

    campos, de acordo com os parmetros abaixo:

    Marque o campo Report all erros, not only first.

    Em Name of field to validate, escolha o campo Escore_3.No bloco Data, desmarque a opo Null allowed?

    Salve a transformao e execute-a. Verifique que a transformao ir parar quando o

    primeiro valor nulo do campo Escore_3 for encontrado.

    Exerccio 20 Criando as tabelas de um banco de dados

    1 Para esse exerccio, vamos utilizar o arquivo scripts-js.sql, localizados na pasta

    script do material do curso. Esses scripts criam as tabelas que armazenam os dados de

    uma loja online de vendas de jogos. Antes de iniciar, verifique se a conexo

    pdi_labs_con (criada no Exerccio 3) est disponvel. Acesse a aba View e expanda a

    rvore de conexes. Edite a conexo e pressione o boto Test.

  • 8/2/2019 Pentaho Material

    33/37

    2 Crie uma nova transformao e adicione um step do tipo Execute SQL script, da

    categoria Scripting. Edite o step, escolhendo a conexo pdi_labs_con no campo

    Connection. Em seguida, abra o arquivo scripts-js.sqlem um editor de texto, copie e

    cole o seu contedo no campo SQLscript to execute. Salve a transformao e execute.

    3 Vamos confirmar se as tabelas foram realmente criadas. Na opo View, expanda a

    rvore de conexes e clique com o boto direito em cima da conexo pdi_labs_con,

    escolhendo a opo Explorar. Caso as tabelas tenham sido criadas corretamente, voc

    poder ver a lista expandindo a opo Tables.

  • 8/2/2019 Pentaho Material

    34/37

    A base de dados do exemplo possui 9 tabelas, de acordo com uma breve descrio de

    suas caractersticas abaixo:

    Tabela Descrio

    manufacturers Informaes sobre os fabricantes dos produtos

    products Produtos que esto venda na loja, como jogos,quebra-cabea, acessrios, etc.

    buy_methods Contm informaes sobre as modalidades de

    compra (fsica, por telefone, pela internet, etc.)

    payment_methods Contm informaes sobre as modalidades de

    pagamento (dinheiro, carto, cheque)

    countries Uma lista de pases

    cities Uma lista de cidades

    customers Os clientes cadastrados na loja

    Invoices/invoices_detail Cabealho e detalhe das informaes de faturas

  • 8/2/2019 Pentaho Material

    35/37

    Exerccio 21 Carregando as tabelas atravs de transformaes

    1 Vamos agora carregar os dados nas tabelas do banco a partir de um conjunto de

    arquivos localizados na pasta /bases/banco do material distribudo. Os arquivos que

    voc dever usar esto listados abaixo:

    BUY_METHODS.csv

    CITIES.csv

    COUNTRIES.csv

    CUSTOMERS.xls

    INVOICES.xls

    INVOICES_DETAIL.xls

    MANUFACTURERS.xml

    PAYMENT_METHODS.xmlPRODUCTS.xml

    2 Crie uma nova transformao e adicione vrios steps para ler cada arquivo de

    entrada. Voc ter que criar 3 Text File input, 3 Excel input e 3 Get data from XML.

    Conforme mostrado nos exerccios anteriores, para cada step de entrada, localize o

    arquivo e adicione-o lista de arquivos selecionados. Configure o contedo na aba

    Contente obtenha os campos na aba Fields.

    3 Em seguida, crie 9 steps do tipo Table output, que iro armazenar os dados nastabelas criadas no exerccio anterior.

  • 8/2/2019 Pentaho Material

    36/37

    4 Edite cada Table output da seguinte forma:

    Connection: escolhapdi_labs_con.

    Target table: uma das tabelas criadas no execcio anterior. Clique no boto

    Navegarpara escolher uma tabela da conexo. (ex.: BUY_METHODS)

    Aba Database Fields:o Clique no boto Enter Field mapping e escolha os mapeamentos

    adequados

  • 8/2/2019 Pentaho Material

    37/37

    Salve a transformao e repita esse passo para cada step Table output.

    5 Para verificar se as tabelas foram realmente carregadas, clique na opo View,

    expanda a rvore de conexes e clique com o boto direito em cima da conexopdi_labs_con, escolhendo a opo Explorar. Escolha uma tabela e clique na opo

    Preview First 100 rows of .