Modelo de programación de Cloud Dataflow

El modelo de programación de Dataflow está diseñado para simplificar la mecánica del procesamiento de datos a gran escala. Cuando programas con el SDK de Dataflow, lo que haces en realidad es crear un trabajo de procesamiento de datos para que lo ejecute uno de los servicios de Cloud Dataflow que corresponda. Este modelo te permite concentrarte en la composición lógica de tu trabajo de procesamiento de datos, en lugar de la organización física del procesamiento paralelo. Puedes enfocarte en lo que necesitas que tu trabajo haga en lugar de cómo se ejecuta ese trabajo.

El modelo de Dataflow proporciona una variedad de abstracciones útiles que te aíslan de los detalles de bajo nivel del procesamiento distribuido, como la coordinación de trabajadores individuales, la fragmentación de conjuntos de datos y otras tareas similares. Los servicios de ejecución de Cloud Dataflow administran por completo estos detalles de bajo nivel.

Cuando piensas en el procesamiento de datos con Dataflow, existen cuatro conceptos principales:

  • Canalizaciones
  • PCollections
  • Transformaciones
  • Receptores y fuentes de E/S

Una vez que estés familiarizado con estos principios, puedes aprender sobre los principios de diseño de canalizaciones para ayudar a determinar la mejor manera de usar el modelo de programación de Dataflow a fin de realizar tus tareas de procesamiento de datos.

Canalizaciones

Una canalización encapsula una serie completa de procesamientos que aceptan datos de entrada de fuentes externas, los transforman para proporcionar información útil y producen datos de salida. Esos datos de salida a menudo se escriben en un receptor de datos externo. La fuente de entrada y el receptor de salida pueden ser del mismo tipo o pueden ser de tipos diferentes, lo que te permite convertir los datos de un formato en otro con facilidad.

Cada canalización representa un trabajo único, que puede ser repetible, de principio a fin, en el servicio de Dataflow.

Consulta Canalizaciones para obtener información sobre cómo se representa una canalización en los SDK de Dataflow.

PCollections

Una PCollection representa un conjunto de datos en tu canalización. Las clases de Dataflow PCollection son clases de contenedor especializadas que pueden representar conjuntos de datos de casi cualquier tamaño. Una PCollection puede contener un conjunto de datos de un tamaño fijo (como los datos de un archivo de texto o una tabla de BigQuery) o un conjunto de datos no delimitado de una fuente de datos que se actualiza de forma continua (como una suscripción a Google Cloud Pub/Sub).

Las PCollection son las entradas y salidas para cada paso en tu canalización.

Consulta PCollections para obtener información sobre cómo funciona PCollection en los SDK de Dataflow.

Transformaciones

Una transformación es una operación de procesamiento de datos, o un paso, en tu canalización. Una transformación toma una o varias PCollection como entrada, realiza una función de procesamiento que proporcionas en los elementos de esa PCollection y produce PCollection de salida.

Tus transformaciones no tienen que ser una secuencia lineal estricta dentro de tu canalización. Puedes usar condicionales, bucles y otras estructuras de programación comunes para crear una canalización de ramificación o una canalización con estructuras repetidas. Puedes pensar en tu canalización como un grafo de pasos dirigido en lugar de una secuencia lineal.

Consulta Transformaciones para obtener información sobre cómo funcionan las transformaciones en los SDK de Dataflow.

Receptores y fuentes de E/S

Los SDK de Dataflow proporcionan varias API de fuente de datos y de receptor de datos para las E/S de la canalización. Puedes usar las API de fuente a fin de leer los datos en tu canalización y las API de receptor para escribir los datos de salida de tu canalización. Estas operaciones de fuente y receptor representan las raíces y los extremos de tu canalización.

Las API de fuente y de receptor de Dataflow permiten que tu canalización trabaje con datos de varios formatos de almacenamiento de datos diferentes, como archivos en Google Cloud Storage, tablas de BigQuery, y demás. También puedes usar una fuente de datos personalizada (o receptor) si le enseñas a Dataflow a leerla (o escribir en ella) en paralelo.

Consulta las E/S de la canalización para obtener más información sobre cómo funcionan las fuentes de datos y los receptores en los SDK de Dataflow.

Apache Spark™ es una marca registrada de The Apache Software Foundation o sus afiliados en Estados Unidos y otros países.
¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Si necesitas ayuda, visita nuestra página de asistencia.