Cómo usar flujos de trabajo

Puedes configurar y ejecutar un flujo de trabajo si:

  1. Creas una plantilla de flujo de trabajo
  2. Configuras un clúster administrado (efímero) o seleccionas un clúster existente
  3. Agregas trabajos
  4. Creas una instancia de la plantilla para ejecutar el flujo de trabajo

Cómo crear una plantilla

Comando de gcloud

Ejecuta el siguiente command para crear un recurso de plantilla de flujo de trabajo de Cloud Dataproc.

gcloud dataproc workflow-templates create template-id (such as "my-workflow")

API de REST

Consulta workflowTemplates.create.

Console

Se agregará la asistencia para flujos de trabajo de Cloud Dataproc en Google Cloud Platform Console en una versión futura de Cloud Dataproc.

Cómo configurar o seleccionar un clúster

Cloud Dataproc puede crear y usar un clúster "administrado" nuevo para tu flujo de trabajo o un clúster existente.

  • Clúster existente: Consulta Cómo usar selectores de clúster con flujos de trabajo para seleccionar un clúster existente para tu flujo de trabajo.

  • Clúster administrado: Debes configurar un clúster administrado para tu flujo de trabajo. Cloud Dataproc creará este clúster nuevo para ejecutar trabajos de clúster y luego borrar el clúster al final del flujo de trabajo.
    Puedes configurar un clúster administrado para tu flujo de trabajo con la herramienta de línea de comandos de gcloud o con las API de Cloud Dataproc.

    Comando de gcloud

    Usa marcas heredadas de gcloud dataproc cluster create para configurar el clúster administrado (número de trabajadores, tipo de máquina principal/trabajador, etcétera). Cloud Dataproc agregará un sufijo al nombre del clúster para garantizar la exclusividad.

    gcloud dataproc workflow-templates set-managed-cluster template-id 
    --master-machine-type machine-type
    --worker-machine-type machine-type
    --num-workers number
    --cluster-name cluster-name

    API de REST

    Consulta WorkflowTemplatePlacement.ManagedCluster.

    Console

    Se agregará la asistencia para flujos de trabajo de Cloud Dataproc en Google Cloud Platform Console en una versión futura de Cloud Dataproc.

Cómo agregar trabajos a una plantilla

Todos los trabajos se ejecutan simultáneamente, a menos que especifiques una o más dependencias de trabajo. Las dependencias de un trabajo se expresan como una lista de otros trabajos que se deben completar exitosamente antes de que pueda comenzar el trabajo final. Debes proporcionar un step-id para cada trabajo. El ID debe ser único dentro del flujo de trabajo, pero no es necesario que lo sea globalmente.

Comando de gcloud

Usa el tipo de trabajos y las marcas heredadas de gcloud dataproc jobs submit para definir el trabajo que se agregará a la plantilla. Opcionalmente, puedes usar la marca ‑‑start-after job-id of another workflow job para que el trabajo comience después de que se completen uno o más trabajos en el flujo de trabajo.

Ejemplos:

Agrega el trabajo de Hadoop "foo" a la plantilla "my-workflow".

gcloud dataproc workflow-templates add-job hadoop \
  --step-id foo \
  --workflow-template my-workflow \
  -- space separated job args

Agrega el trabajo "bar" a la plantilla "my-workflow", que se ejecutará después de que el trabajo de flujo de trabajo "foo" se haya completado correctamente.

gcloud dataproc workflow-templates add-job job-type \
  --step-id bar \
  --start-after foo \
  --workflow-template my-workflow \
  -- space separated job args

Agrega otro trabajo "baz" a la plantilla "my-workflow" para que se ejecute luego de que se completen correctamente los trabajos "foo" y "bar".

gcloud dataproc workflow-templates add-job job-type \
  --step-id baz \
  --start-after foo,bar \
  --workflow-template my-workflow \
  -- space separated job args

API de REST

Consulta WorkflowTemplate.OrderedJob.

Console

Se agregará la asistencia para flujos de trabajo de Cloud Dataproc en Google Cloud Platform Console en una versión futura de Cloud Dataproc.

Cómo ejecutar un flujo de trabajo

La creación de una instancia de una plantilla de flujo de trabajo ejecuta el flujo de trabajo definido por la plantilla. Se admiten múltiples creaciones de instancias de una plantilla. Puedes ejecutar un flujo de trabajo varias veces.

Comando de gcloud

gcloud dataproc workflow-templates instantiate template-id

El comando muestra un ID de operación, que puedes usar para realizar un seguimiento del estado del flujo de trabajo.

Ejemplo:
gcloud beta dataproc workflow-templates instantiate my-template-id
...
WorkflowTemplate [my-template-id] RUNNING
...
Created cluster: my-template-id-rg544az7mpbfa.
Job ID teragen-rg544az7mpbfa RUNNING
Job ID teragen-rg544az7mpbfa COMPLETED
Job ID terasort-rg544az7mpbfa RUNNING
Job ID terasort-rg544az7mpbfa COMPLETED
Job ID teravalidate-rg544az7mpbfa RUNNING
Job ID teravalidate-rg544az7mpbfa COMPLETED
...
Deleted cluster: my-template-id-rg544az7mpbfa.
WorkflowTemplate [my-template-id] DONE

API de REST

Consulta workflowTemplates.instantiate.

Console

Se agregará la asistencia para flujos de trabajo de Cloud Dataproc en Google Cloud Platform Console en una versión futura de Cloud Dataproc.

Fallas de trabajo de flujo de trabajo

Una falla en cualquier trabajo en un flujo de trabajo causará que el flujo de trabajo tenga errores. Cloud Dataproc buscará mitigar el efecto de las fallas causando que todos los trabajos que se ejecutan simultáneamente fallen y evitando que se inicien los trabajos subsecuentes.

Cómo supervisar y hacer un lista de un flujo de trabajo

Comando de gcloud

Para supervisar un flujo de trabajo:

gcloud dataproc operations describe operation-id

Nota: El ID de operación se muestra cuando creas una instancia del flujo de trabajo con gcloud dataproc workflow-templates instantiate (consulta Cómo ejecutar un flujo de trabajo).

Para hacer una lista del estado del flujo de trabajo:

gcloud dataproc operations list \
  --filter "labels.goog-dataproc-operation-type=WORKFLOW AND status.state=RUNNING"

API de REST

Para supervisar un flujo de trabajo, usa la API operations.get de Cloud Dataproc.

Para hacer una lista de los flujos de trabajo activos, usa la API operations.list de Cloud Dataproc con un filtro de etiqueta.

Console

Se agregará la asistencia para flujos de trabajo de Cloud Dataproc en Google Cloud Platform Console en una versión futura de Cloud Dataproc.

Cómo finalizar un flujo de trabajo

Puedes finalizar un flujo de trabajo con la herramienta de línea de comandos de gcloud o si llamas a la API de Cloud Dataproc.

Comando de gcloud

gcloud dataproc operations cancel operation-id
Nota: El ID de operación que se muestra cuando creas una instancia del flujo de trabajo con gcloud dataproc workflow-templates instantiate (consulta Cómo ejecutar un flujo de trabajo).

API de REST

Consulta la API operations.cancel.

Console

Se agregará la asistencia para flujos de trabajo de Cloud Dataproc en Google Cloud Platform Console en una versión futura de Cloud Dataproc.

Cómo actualizar una plantilla de flujo de trabajo

Las actualizaciones no afectan los flujos de trabajo activos. La versión de la plantilla nueva solo se aplicará a los flujos de trabajo nuevos.

Comando de gcloud

Las plantillas de flujo de trabajo se pueden actualizar mediante el uso de comandos gcloud workflow-templates nuevos que hacen referencia a un ID de plantilla de flujo de trabajo existente:

a una plantilla de flujo de trabajo existente.

API de REST

Para hacer una actualización de una plantilla con las API de REST:

  1. Llama a workflowTemplates.get, que muestra la plantilla actual con el campo version completado con la versión del servidor actual
  2. Realiza actualizaciones en la plantilla recuperada
  3. Llama a workflowTemplates.update con la plantilla actualizada

Console

Se agregará la asistencia para flujos de trabajo de Cloud Dataproc en Google Cloud Platform Console en una versión futura de Cloud Dataproc.

Cómo borrar una plantilla de flujo de trabajo

Comando de gcloud

gcloud dataproc workflow-templates delete template-id

Nota: El ID de operación que se muestra cuando creas una instancia del flujo de trabajo con gcloud dataproc workflow-templates instantiate (consulta Cómo ejecutar un flujo de trabajo).

API de REST

Consulta workflowTemplates.delete.

Console

Se agregará la asistencia para flujos de trabajo de Cloud Dataproc en Google Cloud Platform Console en una versión futura de Cloud Dataproc.
¿Te sirvió esta página? Envíanos tu opinión:

Enviar comentarios sobre…

Documentación de Cloud Dataproc
¿Necesitas ayuda? Visita nuestra página de asistencia.