Exportar información del trabajo

En esta página, se describe cómo exportar la información de los trabajos que se almacenan por lotes a una tabla de BigQuery con Workflows. Específicamente, aprende a ejecutar el flujo de trabajo de muestra de trabajos de exportación y a y ver la información del trabajo resultante en BigQuery.

Exportar la información de un trabajo es útil cuando deseas conservarla después de que se borre automáticamente o de forma manual, o bien analizarla fuera de Batch. Como alternativa, si si quieres exportar solo información de cambios de estado de tareas y trabajos a BigQuery, consulta Cómo supervisar trabajos mediante notificaciones en su lugar.

Para aprender a exportar información del trabajo almacenada en otros servicios de Google Cloud, consulta la documentación de exportación para ese servicio. Por ejemplo, consulta las siguientes páginas:

Antes de comenzar

  1. Si nunca usaste Batch, revisa Comienza a usar Batch y habilitar Batch completando el requisitos previos para los proyectos y usuarios.
  2. Enable the BigQuery and Workflows APIs.

    Enable the APIs

  3. Opcional: Identifica un conjunto de datos o una tabla de BigQuery existentes en tu proyecto en el que deseas almacenar la información del trabajo. Una tabla existente debe tener un esquema coincidente.

    De lo contrario, puedes usar el flujo de trabajo export-jobs para crear un nuevo conjunto de datos o tabla.

  4. Para preparar una cuenta de servicio para el flujo de trabajo de exportación de trabajos, haz lo siguiente:

    1. Crea una cuenta de servicio nueva o identificar una cuenta de servicio existente.
    2. Para garantizar que la cuenta de servicio tenga permisos para ejecutar el flujo de trabajo solicita a tu administrador que otorgue el acceso los siguientes roles de IAM en el proyecto:

      Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

      Es posible que el administrador también pueda otorgar a la cuenta de servicio los permisos requeridos a través de la configuración rolesu otros predefinidos roles.

  5. A fin de obtener los permisos que necesitas para crear, implementar y ejecutar el flujo de trabajo de export-jobs, solicita a tu administrador que te otorgue el los siguientes roles de IAM en el proyecto:

  6. Asegúrate de que los usuarios de tu proyecto puedan ver la información del trabajo exportado.

    Para garantizar que un usuario tenga permisos para exportar información del trabajo, pedirle a tu administrador que otorgue el permiso Es el rol de IAM de visualizador de datos de BigQuery (roles/bigquery.dataViewer) en la tabla, el conjunto de datos o el proyecto.

Cómo exportar información de trabajos

En esta sección, se explica cómo exportar información de trabajos con el flujo de trabajo de export-jobs, que proviene de la muestra de código export-to-bigquery. El flujo de trabajo de exportación-jobs exporta la información para los trabajos de tu proyecto que están en la región especificada y cumplen con los criterios de filtro especificados.

El flujo de trabajo de exportación de trabajos de exportación exporta información de los trabajos a una tabla específica en un conjunto de datos especificado, que el flujo de trabajo crea automáticamente si no existan en tu proyecto. De forma predeterminada, el flujo de trabajo de exportación-jobs borra los trabajos exportados de Batch, pero tienes la opción editar el flujo de trabajo de los trabajos de exportación para no borrarlos.

Para cada flujo de trabajo de exportación de trabajos que desees usar, haz lo siguiente:

  1. Configura la definición del flujo de trabajo.
  2. Crea e implementa el flujo de trabajo.
  3. Ejecuta el flujo de trabajo. Repite este paso cada vez que cuando quieres exportar los trabajos especificados.

Configura la definición del flujo de trabajo

  1. Descarga el archivo export-to-bigquery-delete-batch-jobs.yaml desde GitHub.

  2. Abre el archivo export-to-bigquery-delete-batch-jobs.yaml en un editor de texto. Luego, realiza las siguientes modificaciones:

    1. Reemplaza sys.get_env("GOOGLE_CLOUD_PROJECT_ID") por el ID del proyecto. formateado como una cadena, por ejemplo, "my-project-id".

    2. Reemplaza sys.get_env("GOOGLE_CLOUD_LOCATION") por la región que contiene los trabajos que deseas exportar, con el formato como "us-central1".

    3. Opcional: Edita los criterios del filtro que especifican qué trabajos exportar.

      De forma predeterminada, el flujo de trabajo de exportación-trabajos especifica los criterios de filtro. "(status.state:SUCCEEDED OR status.state:FAILED) AND create_time<=\"2023-05-01T00:00:00Z\"" Este criterio de filtro predeterminado exporta información solo para los trabajos que se en el estado SUCCEEDED o FAILED y se crearon antes que el 2023-05-01T00:00:00Z RFC 3339 y marca de tiempo.

    4. Reemplaza default_dataset_id por un nombre diferente para el elemento (opcional). conjunto de datos que quieres que el flujo de trabajo de exportación-trabajos use o cree.

    5. Opcional: Reemplaza default_table_id por un nombre diferente de la tabla que deseas que use o cree el flujo de trabajo de exportación-jobs.

    6. Si no quieres que el flujo de trabajo borre los trabajos exportados, haz lo siguiente:

      1. Quita las siguientes líneas:

                - log_delete_step:
                    call: sys.log
                    args:
                      text: ${"Deleting Batch job " + j.name}
                      severity: NOTICE
                - delete_job:
                    call: googleapis.batch.v1.projects.locations.jobs.delete
                    args:
                      name: ${j.name}
        
      2. Quita + " and deleted".

    7. Guarda el archivo. Mantén el archivo abierto.

Crea e implementa el flujo de trabajo

  1. En la consola de Google Cloud, ve a la página Workflows.

    Ir a Workflows

  2. En la página Flujos de trabajo, haz clic en Crear.

  3. En el campo Nombre del flujo de trabajo, ingresa un nombre para el flujo de trabajo, como ejemplo, export-batch-jobs-us-central1.

  4. En la lista Cuenta de servicio, selecciona la cuenta de servicio que preparados.

  5. Haz clic en Siguiente.

  6. En el editor de flujos de trabajo, reemplaza el flujo de trabajo de muestra por el contenido de el archivo export-to-bigquery-delete-batch-jobs.yaml. Luego, puedes cerrar el archivo.

  7. Haz clic en Implementar. Se abrirá la página Detalles del flujo de trabajo.

Ejecuta el flujo de trabajo

  1. En la página Detalles del flujo de trabajo, haz clic en Ejecutar. La página Ejecuta flujo de trabajo se abre.

  2. En la página Ejecutar flujo de trabajo que se abre, haz clic en Ejecutar.

  3. En la página Detalles de la ejecución que se abre, espera a que el flujo de trabajo realice lo siguiente: terminar de ejecutarse. Por ejemplo, el tiempo de ejecución para exportar y borrar algunos trabajos suele durar unos segundos, pero la ejecución puede tardar más si estás exportar y borrar muchos trabajos.

    Cuando el flujo de trabajo termine de ejecutarse, el panel Resultado muestra la siguiente información: resultados.

Visualiza la información del trabajo exportada

En esta sección, se muestra cómo ver los datos de la tabla que crea el flujo de trabajo de trabajos de exportación. Por ejemplo, puedes usar los siguientes pasos para verificar que el flujo de trabajo se ejecutó correctamente y explorar los datos de la tabla. Para obtener más información sobre cómo ver y usar la información de los trabajos exportados, como escribir consultas, consulta Cómo administrar datos de tablas en la documentación de BigQuery.

  1. En la consola de Google Cloud, ve a la página de BigQuery:

    Ir a BigQuery

  2. En el panel Explorador, abre la tabla con la información de tu trabajo exportado:

    1. En el campo Buscar recursos de BigQuery, ingresa el nombre. de la tabla de tu flujo de trabajo de exportación-trabajos. Por ejemplo, la configuración predeterminada el nombre de la tabla es default_table_id.
    2. Haz clic en el nombre de la tabla. Se abrirá la página de detalles de la tabla.
    3. En la página de detalles de la tabla, haz clic en la pestaña Detalles.

      En la pestaña Detalles, toma nota de la marca de tiempo Última modificación y del Número de filas.

    4. En la página de detalles de la tabla, haz clic en la pestaña Vista previa.

¿Qué sigue?