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 poder 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 un análisis detallado de la representación de una canalización en los SDK de Dataflow.

PCollections

Una PCollection representa un conjunto de datos en tu canalización. Las clases PCollection de Dataflow son clases especializadas de contenedores 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 de cada paso de tu canalización.

Consulta PCollections para obtener un análisis detallado del funcionamiento de 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 más PCollection como entrada, realiza una función de procesamiento que debes proporcionar en los elementos de esa PCollection y produce una PCollection de salida.

Las transformaciones no tienen que ser una secuencia lineal estricta dentro de la 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 la canalización como un grafo dirigido de pasos en lugar de una secuencia lineal.

Consulta Transformaciones para obtener un análisis detallado del funcionamiento de 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 diferentes de almacenamiento de datos, como archivos en Google Cloud Storage, tablas de BigQuery, y demás. También puedes usar una fuente de datos personalizada (o un receptor personalizado) si le enseñas a Dataflow a leerla (o escribir en ella) en paralelo.

Consulta E/S de canalización para obtener más información sobre cómo funcionan los receptores y las fuentes de datos 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.