Introducción
Para aumentar las capacidades del Dataflow es posible desarrollar etapas personalizadas que se pueden utilizar en los pipelines que se creen con el propio Dataflow del mismo modo que cualquiera de los componentes propios del Dataflow.
...
Para mostrar ejemplos, usaremos el proyecto <github>. Dicho proyecto incluye ejemplos de pruebas para los componentes JDBC del propio Dataflow. De esta forma muestra ejemplos tanto para etapas de tipo origen, de tipo destino y de tipo procesadores.
Configuración del proyecto
El proyecto de ejemplo <github> usa Maven para la gestión de las dependencias. A continuación se describen las depedencias que se han utilizado.
...
Code Block | ||
---|---|---|
| ||
<dependency> <groupId>com.streamsets</groupId> <artifactId>streamsets-datacollector-api</artifactId> <version>${sdc.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>com.streamsets</groupId> <artifactId>streamsets-datacollector-sdk</artifactId> <version>${sdc.version}</version> <scope>test</scope> </dependency> |
Prueba de Orígen
En este ejemplo para probar el origen JDBC arrancamos una base de datos H2 y la poblamos con unas tablas para probar.
...
El ejemplo completo se puede ver en <github>
Prueba de Destino
Para probar la escritura en el destino se ha usado una estrategia similar a la empleada para probar la lectura. Por lo que no vamos a repetir la parte de código similar de configurar la base de datos. Para ver el ejemplo completo se puede ver en <github>.
...
Code Block |
---|
connection = DriverManager.getConnection(h2ConnectionString, username, password); try (Statement statement = connection.createStatement()) { ResultSet rs = statement.executeQuery("SELECT COUNT(*) FROM " + fullTableName); rs.next(); assertEquals(1, rs.getInt(1)); } |
Prueba de un Processor
Este caso es muy similar al de los Orígenes y los Destinos. La mayor diferencia radica en que se utiliza un componente de tipo processor y un runner de tipo ProcessorRunner.
...