Serverless Data Processing with Dataflow: Módulo 6

Cloud Dataflow

  1. Dataflow ejecuta las transformaciones en Apache Beam, y optimiza el gráfico, fusionando operaciones. Además puede iniciar un nuevo paso sin haber completado el anterior.
  2. A medida que el trabajo necesita más recursos, recibe más recursos. No tiene que escalar recursos manualmente para satisfacer las necesidades laborales.
  3. El trabajo general termina más rápido porque si las máquinas terminan su tarea, continúan con otra, las tareas siempre están en cola.
  4. El reequilibrio dinámico a la mitad del trabajo, elimina la necesidad de gastar tiempo de recursos operativos.
  5. Tiempo de seguimiento rico, las agregaciones, como sumas y recuentos, son correctas incluso si la fuente de entrada envía registros duplicados.
  6. Buena integración con otros servicios de GCP. Actúa como un pegamento que junta muchos servicios de GCP. Se puede utilizar en combinaciones como BigQuery-BigTable, o Pub/Sub-Cloud SQL.
  • PTransforms
  • Map (fn) usa un fn invocable para hacer una transformación uno a uno.
  • Use FlatMap para relaciones no 1: 1, generalmente con un generador
  • FlatMap es similar a Map, pero fn devuelve un iterable de cero o más elementos.
  • Los iterables se aplanan en una PCollection. En el ejemplo de longitud de palabra, hay una salida de longitud para cada entrada de palabra. En el ejemplo grep, la función my_grep () devuelve cada instancia del término que es buscando en la línea. Puede haber múltiples instancias del término en una sola línea.
  • Una relación de uno a muchos. En este caso, desea que my_grep () devuelva el siguiente instancia cada vez que se llama, razón por la cual la función se ha implementado con un generador utilizando ‘rendimiento’. El comando de rendimiento tiene el efecto de preservar el estado de la función para que la próxima vez que se llame pueda continuar desde donde se quedó. Mapa plano tiene el efecto de iterar sobre la relación uno a muchos. El ejemplo de Map devuelve un par clave-valor (en Python, esto es simplemente una tupla de 2) para cada palabra.
  • El ejemplo de FlatMap produce la línea solo para las líneas que contienen el término de búsqueda.
  • Filtrar un conjunto de datos. Puede usar ParDo para considerar cada elemento en una PCollection y enviar ese elemento a una nueva colección, o descartarlo.
  • Formatear o convertir cada elemento en un conjunto de datos. Si su entrada PCollection contiene elementos que son de un tipo o formato diferente al que desea, puede usar ParDo para realizar una conversión en cada elemento y generar el resultado en un nuevo PCollection.
  • Extracción de partes de cada elemento en un conjunto de datos. Si tiene una colección de registros de PC con múltiples campos, por ejemplo, puede usar un ParDo para analizar solo los campos que querer considerar en una nueva PCollection.
  • Realizar cálculos en cada elemento en un conjunto de datos. Puedes usar ParDo para realizar cálculos simples o complejos en cada elemento, o ciertos elementos, de un PCollection y muestra los resultados como una nueva PCollection.
  • Su código DoFn debe ser completamente serializable, idempotente y seguro para subprocesos.
  • El método ParDo puede emitir múltiples variables.
  • Agregar entradas (add_input)
  • Combinar el acumulador (merge_acumulator)
  • Extraer salida (extract_output)
  • Matías Idrobo
  • Williams Ortiz
  • Paúl Ramírez

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store