Hitachi Vantara Pentaho Community Forums
Results 1 to 3 of 3

Thread: Integrar en Java

  1. #1

    Default Integrar en Java

    Hola a todos de nuevo!
    Tengo una transformación ktr y necesito llamarla en una aplicación java. He estado leyendo la información que da pentaho y he visto que era tan fácil como recoger el nombre del fichero ktr y dejarla correr. Es tan sencillo?
    Gracias,

  2. #2
    Join Date
    Jul 2007
    Posts
    1,013

    Default

    Depende de cómo quieras llamarla. Las dos opciones serían:

    a) Hacer una llamada al sistema desde Java y ejecutar Kitchen ó Pan, como si estuvieras ejecutando tu transformación desde línea de comandos.

    b) Cargar las librerías de Kettle en tu aplicación Java y hacer la llamada mediante los objetos disponibles.

    La primera opción es la más sencilla. Si te decidís por la segunda, te dejo unas secciones del código que necesitarías:

    Esto es lo que deberías importar (necesitarás referenciar las librerías de Kettle correspondientes):
    Code:
    import java.io.*;
    import org.pentaho.di.core.exception.KettleException;
    import org.pentaho.di.core.logging.LogWriter;
    import org.pentaho.di.core.util.EnvUtil;
    import org.pentaho.di.trans.StepLoader;
    import org.pentaho.di.trans.Trans;
    import org.pentaho.di.trans.TransMeta;
    Y luego este sería un método para hacer la llamada:

    Code:
    public static void correrTransformacion(String archivo) {
              try {
                StepLoader.init();
                
                EnvUtil.environmentInit();
    
                TransMeta transMeta = new TransMeta(archivo);
                transMeta.setVariable("miVariable", "miValor"); //esto es opcional, por si querés definir una variable
                
                Trans trans = new Trans(transMeta);
                
                trans.execute(null);
                trans.waitUntilFinished();
                if ( trans.getErrors() > 0 )
                {
                  throw new RuntimeException( "Hubo errores durante la ejecución de la transformación." );
                }
              }
              catch ( KettleException e ) {
                System.out.println(e);
              }
        }

  3. #3

    Default

    Gracias por tu ayuda

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Privacy Policy | Legal Notices | Safe Harbor Privacy Policy

Copyright © 2005 - 2019 Hitachi Vantara Corporation. All Rights Reserved.