|

jueves, 25 de julio de 2013

Migrando la Configuración de PDI: el directorio .kettle

Traveling bags


Es común que tengamos varios equipos de desarrollo, o que necesitamos migrar la configuración de Kettle desde un servidor de desarrollo a uno de pruebas o producción. Esta configuración incluye variables, conexiones compartidas a bases de datos y nuestros repositorios. Si algún día necesitan migrar esta configuración la siguiente información les puede resultar muy útil.

Los archivos de configuración de Pentaho Data Integration los podemos ubicar bajo el directorio .kettle, el cual esta alojado en nuestra carpeta de usuario:

En Windows (Vista, 7 y 8) -> C:\Users\NombreUsuario
En Linux -> /home/NombreUsuario. 

Para poder acceder a él es necesario tener habilitada la visualización de archivos ocultos. Si queremos un configuración idéntica basta con copiar todo el contenido de la carpeta a nuestra .kettle de la nueva máquina. Si queremos copiar solo ciertas configuraciones, tenemos tener claro el contenido de cada archivo:

Los principales archivos de configuración que encontramos son:

kettle.properties: Archivo que nos permite definir variables globales del aplicativo. Por ejemplo podemos crear una variable con el nombre de nuestro servidor de bases de datos, TEST_SERVER, y luego llamarla en nuestras transformaciones de la forma ${TEST_SERVER}. Así que si llegara a cambiar el nombre del servidor, simplemente debemos asignarle el nuevo valor en el kettle.properties y no modificar nuestras transformaciones y jobs.

PRODUCTION_SERVER = hercules
TEST_SERVER = zeus
DEVELOPMENT_SERVER = thor
SERVER_PORT = 1521
SERVER_SCHEMA = TRANSACT


shared.xml: En este archivo encontramos todas nuestras conexiones compartidas (Mas información en Configurando conexiones en Sppon). Si simplemente queremos copiar una conexión compertida, podemos identificarla dentro de las etiqueta <connection>, copiarla y pegarlo en el shared.xml de otra servidor con Pentaho. Las contraseñas de conexión en este archivo están encriptadas.


<connection>
    <name>DATAWAREHOUSE</name>
    <server>localhost</server>
    <type>ORACLE</type>
    <access>Native</access>
    <database>xe</database>
    <port>1521</port>
    <username>DWAREHOUSE</username>
    <password>Encrypted 2be98fc8aa7bb38a2b8b58f1a79cff</password>
    <servername/>
    <data_tablespace/>
    <index_tablespace/>
    <attributes>
      <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
      <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
      <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
      <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
      <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
      <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
      <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
    </attributes>
  </connection>


repositories.xml: Aparte de los archivos .ktr y .kjb, podemos crear las transformaciones y jobs en un repositorio de bases de datos. Si queremos acceder al repositorios desde varias computadores, es necesario tener definida tanto la conexión como el repositorio, que podemos identificar con las etiquetas <connection> y <repository> respectivamente.

<repositories>
  <connection>
    <name>KREPOSITORY</name>
    <server>albafika</server>
    <type>ORACLE</type>
    <access>Native</access>
    <database>xe</database>
    <port>1521</port>
    <username>KREPOSITORY</username>
    <password>Encrypted 2be98afc86aa7f2e4bb18bd63c99dbdde</password>
    <servername/>
    <data_tablespace/>
    <index_tablespace/>
    <attributes>
      <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
      <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
      <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
      <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
      <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
      <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
      <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
    </attributes>
  </connection>
  <repository>    <id>KettleDatabaseRepository</id>
    <name>REPOSITORIO_DESARROLLO</name>
    <description>REPOSITORIO_DESARROLLO</description>
    <connection>KREPOSITORY</connection>
  </repository>
  </repositories>


En una próxima entrada veremos como cambiar la ruta del directorio .kettle

Dios los bendiga y exitos

0 comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...