Nos complace anunciar el lanzamiento de un nuevo generador de datos de flujo de datos de Dataflow Flex Template que admite la publicación continua de mensajes JSON de alto volumen en Google Cloud Pub / Sub Topic. En esta publicación de blog, discutiremos brevemente la necesidad y el uso de la plantilla.

Plantillas Flex
Antes de profundizar en los detalles de la funcionalidad de la plantilla Streaming Data Generator, permítanme presentarles las plantillas a un nivel muy alto:
El objetivo principal de las plantillas es empaquetar las tuberías de flujo de datos en forma de artefactos reutilizables con soporte para su lanzamiento a través de varios canales (UI / CLI / REST API) para que estos equipos puedan aprovechar estas plantillas al proporcionar los parámetros de tubería necesarios. En la primera versión de las plantillas (llamadas plantillas tradicionales ), las tuberías se organizaron en GCS y se pueden iniciar desde la consola, el comando gcloud o desde otros servicios como Cloud Scheduler / Functions, etc.
Sin embargo, las plantillas tradicionales tienen ciertas limitaciones:
1. Falta de soporte para Dynamic DAGS
2. Gran cantidad de E / S no admite parámetros de tiempo de ejecución
Las plantillas flexibles superan estas limitaciones. Flex templates empaqueta el código de flujo de datos junto con las dependencias de la aplicación en forma de imágenes acoplables y muestra las imágenes en Google Container Registry (GCR). El servicio del lanzador de plantillas Flex lanza una tubería con parámetros suministrados de manera similar a la que un usuario lanza una tubería durante el desarrollo.
¿Qué es Streaming Data Generator?
La plantilla de Streaming Data Generator se puede usar para publicar mensajes JSON falsos basados en el esquema proporcionado por el usuario a una velocidad especificada (mensajes por segundo) en el tema de Google Cloud Pub / Sub. Generador de datos JSON La biblioteca utilizada por la tubería admite varias funciones falsas que se asocian con un campo de esquema. Pipeline admite parámetros de configuración para controlar la cantidad de mensajes publicados por segundo (es decir, QPS) y los recursos necesarios (a través de escalado automático)
El caso de uso principal de la tubería es medir el rendimiento de referencia de la tasa de consumo de las tuberías de Streaming y evaluar los recursos (número de trabajadores / tipos de máquinas) necesarios para alcanzar el rendimiento deseado.
¿Cómo ejecutar Pipeline?
Pipeline se puede iniciar desde la consola en la nube o mediante el comando gcloud.
Para iniciar desde la consola en la nube:
- Vaya a la página de flujo de datos en la consola de la nube
- Haga clic en Crear trabajo desde plantilla .
3. Seleccione Streaming Data Generator en el menú desplegable de la plantilla Dataflow .

4. Ingrese el nombre del trabajo
5. Ingrese los parámetros requeridos como se muestra a continuación:

6. Ingrese parámetros opcionales como autoscalingAlgorithm y maxNumWorkers si es necesario
7. Haga clic en Ejecutar trabajo
Para iniciar usando gcloud use el siguiente comando:
gcloud beta dataflow flex-template run $ {JOB_NAME} \
—-Proyecto = $ {YOUR_PROJECT_ID} \
—-Region = $ {REGION_NAME} \
—-Template-file-gcs-location = gs: // dataflow-templates / latest / flex / Streaming_Data_Generator \
—- parámetros \
schemaLocation = $ {SCHEMA_LOCATION} \
tema = $ {PUBSUB_TOPIC}, \
qps = $ {QPS} Referencias
- El código está disponible en GitHub
- Para obtener documentación, consulte los documentos de Dataflow
- Documentos de Cloud Dataflow para varias plantillas de Batch y Streaming .
Streaming Data Generator Dataflow Flex Template en GCP se publicó originalmente en Google Cloud - Community on Medium, donde las personas continúan la conversación resaltando y respondiendo a esta historia.