quinta-feira, 11 de dezembro de 2014

Kettle – Substring – Step Strings Cut

Abaixo citamos um exemplo de utilização do Step Strings Cut, que pode ser utilizado para copiar um pedaço de uma string, ou vários pedaços conforme desejado.

Exemplo:
- Inserimos na transformação o Step “Generate Rows”  onde vamos simular o valor de uma string:
        No  campo “Nome do Step” vamos definir como “Nossa String”;
        Campo Nome = “campo_teste”;
        Campo Tipo = “String”;
        Valor = “Kettle - Data Integration Pentaho”;

Ficando assim:

- Inserimos um Step “Strings Cut”,  e ligamos ele ao Step “Nossa String”(Generate Rows);
   Nas configurações do Step “String Cut”:
       No Campo “Step Name” vamos definir como  “Pedaços  Da String”;
       Vamos então dividir a nossa string em  4 palavras: Kettle, Data, Integration, Pentaho:
       No campo     “In Stream Field” definimos  o nome da string a ser utilizada(a ser                      cortada, informação de entrada), no caso é “campo_teste”;
       No campo “Out stream field” definimos a string de saída após a cópia:
              Linha 1: primeira_palavra;
              Linha 2: segunda_palavra;
              Linha 3: terceira_palavra;
              Linha 4: quarta_palavra;
       No campo “Cut from” definimos a posição inicial para a cópia:
              Linha 1= 0 ;
              Linha 2=9;
              Linha 3=14;
              Linha 4=26;
       No campo “Cut to” definimos até que posição da string será a cópia:
              Linha 1=6;
              Linha 2=13;
              Linha 3=25;
              Linha 4=33;

-Para teste  vamos inserir o Step “Text file output”  e ligar o Step “Pedaços da String”(Strings Cut) ao novo Step “Text file Output”, depois efetuamos a configuração do “Text file Output”:
        No campo  “Nome do Step” definimos como “Saída da String em pedaços”;
        No campo  “filename” definimos como “d:\teste_String_Cut;

Executamos a transformação:

Quando abrimos o arquivo em d:\teste_String_Cut, obtemos os dados de saída após as devidas cópias(cortes) da String:

Este foi um post que demonstra apenas a utilização do Step “Strings Cut” sendo que ele pode ser utilizado em diversos casos e situações, sempre que necessário copiar um pedaço de uma string.

6 comentários:

  1. É possível usar o string cut da direita para a esquerda?

    ResponderExcluir
  2. Luis Filipi,
    Você não precisa se preocupar com o lado, direito, meio ou esquerdo, pois isso é indiferente para o kettle. Como você defini o intervalo de caracteres a ser extraído o lado em que ele está é o que menos importa. O próprio exemplo do post demonstra isso. O Valor = “Kettle - Data Integration Pentaho”, por exemplo, a palavra Pentaho. Foi extraída da direta para esquerda, considerando a posição dela na string, apenas setando o valor inicial em 26 e o final 33.

    ResponderExcluir
  3. Olá Luis Filipe,
    Estou trabalhando em uma transformação de um arquivo txt com o step Strings Cut. A dificuldade que estou tendo agora é como juntar em uma mesma linha de saída as informações que extrai do arquivo original e estão em linhas diferentes.
    Agradeço se puder me ajudar.

    ResponderExcluir
  4. Oi

    E se quisermos cortar uma substring até um caracter? por exemplo nome=Fábio e só queremos a palavra Fábio apagado "nome="

    ResponderExcluir
  5. Oi

    E se quisermos cortar uma substring até um caracter? por exemplo nome=Fábio e só queremos a palavra Fábio apagado "nome="

    ResponderExcluir
  6. Ola pessoal!
    E se eu quiser pegar uma palavra que não tem posição certa.
    existe algum step de "localizar palavra"

    ResponderExcluir