Grupos y transformadores basados en grupos - (bloqueos) - www.rtm.es

Página creada Diana Alexandro
 
SEGUIR LEYENDO
Grupos y transformadores basados en grupos - (bloqueos) - www.rtm.es
Grupos y transformadores
                                                                     basados en grupos
                                                                         (bloqueos)

                                                                                www.rtm.es
Recursos Técnicos Madrid, S.L. https://www.rtm.es T. 34 91 460 9406                          1
Grupos y transformadores basados en grupos - (bloqueos) - www.rtm.es
Groups and Group-Based (Blocking) Transformers - Grupos y transformadores basados en grupos (bloqueo)
                              Exploramos cómo agrupar datos y qué efecto tiene en el rendimiento y los atributos.

                                 Este ejercicio Incluye un cálculo estadístico para el control de parquímetros en una ciudad.
1) Inicie Workbench. Comience con un workspace vacío (empty workspace).
2) Select Readers > Add Reader (Seleccione Lectores> Agregar lector) desde la barra de menú (o Ctrl + Alt + R) y en el cuadro de diálogo Add Reader seleccione
MapInfo TAB (MITAB) como el formato y seleccione el conjunto de datos adjunto para la fuente (ó Meters.tab)

 Esto agregará un lector con un solo tipo de feature
             (capa) al área de trabajo.
                                                              3) Agregue un Inspector transformer conectado al tipo de característica del lector y ejecute el
                                                              workspace. Todos los datos de origen se abrirán como una sola capa en el Data Inspector
                                                              4) Ahora configure el parámetro del Inspector denominado Group-By. En el parámetro seleccione
                                                              el atributo CreditCard:

                                                       Recursos Técnicos Madrid, S.L. https://www.rtm.es T. 34 91 460 9406                                  2
Grupos y transformadores basados en grupos - (bloqueos) - www.rtm.es
Groups and Group-Based (Blocking) Transformers - Grupos y transformadores basados en grupos (bloqueo)
Vuelva a ejecutar el workspace (workspace). Ahora tiene dos capas(layers) en el Data Inspector (Inspector de datos) : una que contiene parquímetros que
aceptan tarjetas de crédito, una que contiene parquímetros que no lo aceptan.

Lección: Esto muestra cómo los datos se pueden formar en grupos según los valores de los atributos.

5) Ahora establezca nuevamente el parámetro Group-By para el Inspector. Esta vez asegúrese de que los parámetros CreditCard y MeterType estén
seleccionados. Vuelva a ejecutar la transformación. Ahora el resultado muestra cuatro capas:

               1.   Single meters that accept credit cards                1.   Metros individuales que aceptan tarjetas de crédito.
               2.   Single meters that don’t accept credit cards          2.   Metros individuales que no aceptan tarjetas de crédito.
               3.   Twin meters that accept credit cards                  3.   Medidores gemelos que aceptan tarjetas de crédito.
               4.   Twin meters that don’t accept credit cards            4.   Medidores gemelos que no aceptan tarjetas de crédito.

                                                                                    Esto muestra cómo los grupos pueden estar compuestos de varios
                                                                                    atributos y no solo uno.

                                          Recursos Técnicos Madrid, S.L. https://www.rtm.es T. 34 91 460 9406                                             3
Grupos y transformadores basados en grupos - (bloqueos) - www.rtm.es
Groups and Group-Based (Blocking) Transformers - Grupos y transformadores basados en grupos (bloqueo)

                       Recursos Técnicos Madrid, S.L. https://www.rtm.es T. 34 91 460 9406              4
Grupos y transformadores basados en grupos - (bloqueos) - www.rtm.es
Groups and Group-Based (Blocking) Transformers - Grupos y transformadores basados en grupos (bloqueo)

6) Elimine el transformador Inspector y agregue un transformador StatisticsCalculator al área de trabajo, conectado al tipo de característica del lector. En el
diálogo de parámetros, seleccione HourlyRate como el atributo a analizar.
  Atributo mínimo: MinRate
  Atributo máximo: MaxRate
  Atributo de la media: AveRate

7) Conecte un transformador Inspector al StatisticsCalculator: Summary y ejecute la traducción.
Tenga en cuenta que hay una única función que representa el “group” completo de datos de origen,
que tiene los atributos MinRate, MaxRate, AveRate (pero no otros atributos).
Back in Workbench anota el uso máximo de memoria como se registra al pie de la ventana de
registro.
8) En los parámetros StatisticsCalculator, establezca el parámetro Group-By en Neighborhood. Esto
hará que se cree un grupo de medidores para cada neighborhood. Vuelva a ejecutar el workspace.

Observe que ahora hay una feature de salida para cada grupo, y que los atributos ahora incluyen el
atributo de Neighborhood.

De vuelta en Workbench anota el uso máximo de memoria como se registra al pie de la ventana de
registro. Debe ser casi idéntico al valor anterior.

Esto muestra que agrupar características no tiene efecto en los recursos del sistema utilizados; sigue
siendo el mismo si los datos son un grupo grande o varios grupos más pequeños.

                                              Recursos Técnicos Madrid, S.L. https://www.rtm.es T. 34 91 460 9406                                                 5
Clearing Blocking Transformers - Borrar transformadores de bloqueo

Translation was SUCCESSFUL with 0 warning(s) (0 feature(s) output)
FME Session Duration: 2.3 seconds. (CPU: 1.8s user, 0.3s system)
END - ProcessID: 5804, peak process memory usage: 94784 kB, current process memory usage: 94784 kB

           Recursos Técnicos Madrid, S.L. https://www.rtm.es T. 34 91 460 9406                       6
Clearing Blocking Transformers - Borrar transformadores de bloqueo

Este ejercicio comienza con un workspace que calcula las estadísticas de los parquímetros en una ciudad. Agrupa los datos, por lo que lo importante es explorar
cómo "desbloquear" los transformadores de agrupación para actuar de manera más eficiente.
1) Inicie Workbench y abra el workspace (o plantilla). Observe que estamos leyendo un conjunto de datos de parquímetros y calculando la tarifa de
estacionamiento mínima, máxima y promedio para cada Neighborhood; esto se hace usando un conjunto Group-By en Neighborhood.
Haga clic con el botón derecho en la conexión entre el StatisticsCalculator y el transformador Logger / Inspector. Elija la opción Add Breakpoint para agregar
punto de interrupción:

                                                                                                                       2) Seleccione Run with breakpoints
                                                                                                                       (Ejecutar> Ejecutar con puntos de
                                                                                                                       interrupción) desde la barra de menú:

¡Asegúrese de que la Feature Caching (función de caché) esté desactivada! Breakpoints y feature caching (almacenamiento en caché) de las
features(características) no son compatibles entre sí.
Ahora ejecute el workspace. Observe que todas las 8602 funciones de origen se leen del conjunto de datos de origen para que se lean (y se almacenen en la
memoria) antes de que se genere la primera feature de salida.
Haga clic en el botón “Continue to Next Breakpoint”para hacer que cada feature se muestre de una en una. Haga esto para un puñado(handful) de funciones y
luego haga clic en el botón Stop para detener la transformación.

                                           Recursos Técnicos Madrid, S.L. https://www.rtm.es T. 34 91 460 9406                                               7
Clearing Blocking Transformers - Borrar transformadores de bloqueo

     Recursos Técnicos Madrid, S.L. https://www.rtm.es T. 34 91 460 9406   8
Clearing Blocking Transformers - Borrar transformadores de bloqueo

Observe: si el recuento de funciones se detiene en 8144 originalmente, es porque la pantalla aún no se ha actualizado para mostrar el número real de funciones
leídas. El mensaje de registro “Emptying factory pipeline” confirma que todos los datos ya se han leído, la pantalla es solo para estar actualizado.
3) StatisticsCalculator es un blocker transformer (transformador bloqueador).
   Guarda todas las funciones del medidor hasta disponer de todas, para poder formar grupos posteriormente.
   La única forma en que podemos "desbloquear(unblock )" el transformador y ahorrar recursos es si los datos ya se habían ordenado previamente en orden de
neighborhood.
   Por consiguiente, abra los datos de origen en el Inspector (Inspector de datos) y verifique la columna Neighborhood en la Table View (Vista de tabla).
Mostrará los datos ordenados por Neighborhood en el siguiente orden: Downtown, Fairview, Kitsilano, Mount Pleasant, Strathcona, West End.

    4) De vuelta a Workbench, establezca el parámetro StatisticsCalculator Entrada ordenada a Por grupo(Input Ordered to By Group):

                                           Recursos Técnicos Madrid, S.L. https://www.rtm.es T. 34 91 460 9406                                             9
Clearing Blocking Transformers - Borrar transformadores de bloqueo

  Vuelva a ejecutar la conversión. Esta vez, observe que el transformer comienza a generar features antes de que se hayan leído todos
los datos, por lo que tiene que almacenar menos datos en memoria. Cada clic en “Continue to Next Breakpoint”("Continuar con el
siguiente punto de interrupción“) hace que se genere una nueva característica y que se lea el siguiente grupo de features (características)

 Puede, agregar un transformador de ejemplo después del reader(lector), para dejar pasar solo cada décima característica (o menos). De
esa manera tendrá que hacer menos clics en el botón next.

Lección: Al utilizar el Input Ordered parameter, el StatisticsCalculator procesa un grupo de funciones a la vez, incluso antes de que se
haya leído el siguiente grupo, si se requiere que los datos de origen existentes aparezcan en el orden correcto.

Comentario: Si comprueba el pico de memoria utilizada, ¿será menor? En teoría sí, en la práctica, no, pero eso se debe en parte a que
solo trabajamos con pequeñas cantidades de datos y en parte a que usamos StatisticsCalculator: Summary port, que nos permite usar
breakpoints (puntos de interrupción) pero por alguna razón recorta el uso de la memoria.

                                                coreconcepts4generalworkspace.fmwt

                                     Recursos Técnicos Madrid, S.L. https://www.rtm.es T. 34 91 460 9406                                   10
Recursos Técnicos Madrid, S.L. https://www.rtm.es T. 34 91 460 9406   11
También puede leer