Exportar información de tareas

En esta página se describe cómo exportar la información de tus trabajos almacenada en Batch a una tabla de BigQuery mediante Workflows. En concreto, consulta cómo ejecutar el flujo de trabajo de exportación de ejemplo y cómo ver la información de la tarea resultante en BigQuery.

Exportar la información de un trabajo es útil cuando quieres conservarla después de que se elimine automáticamente o manualmente o cuando quieres analizarla fuera de Batch. Si quieres exportar solo la información sobre los cambios de estado de las tareas y los trabajos a BigQuery, consulta Monitorizar trabajos mediante notificaciones.

Para saber cómo exportar la información de los trabajos almacenada en otros servicios, consulta la documentación de exportación de ese servicio.Google Cloud Por ejemplo, consulta las siguientes páginas:

Antes de empezar

  1. Si no has usado Batch antes, consulta el artículo Empezar a usar Batch y habilita Batch completando los requisitos previos para proyectos y usuarios.
  2. Enable the BigQuery and Workflows APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

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

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

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

    1. Crea una cuenta de servicio o identifica una cuenta de servicio que ya tengas.
    2. Para asegurarte de que la cuenta de servicio tiene los permisos necesarios para ejecutar el flujo de trabajo export-jobs, pide a tu administrador que le conceda los siguientes roles de gestión de identidades y accesos en el proyecto:

      Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.

      Es posible que tu administrador también pueda conceder a la cuenta de servicio los permisos necesarios a través de roles personalizados u otros roles predefinidos.

  5. Para obtener los permisos que necesitas para crear, implementar y ejecutar el flujo de trabajo de exportación de tareas, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos en el proyecto:

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

    Para asegurarse de que un usuario tiene los permisos necesarios para exportar información de tareas, pida a su administrador que le asigne el rol de gestión de identidades y accesos Lector de datos de BigQuery (roles/bigquery.dataViewer) en la tabla, el conjunto de datos o el proyecto.

Exportar información de tareas

En esta sección se explica cómo exportar información de trabajos mediante el flujo de trabajo export-jobs, que se encuentra en el export-to-bigquerycódigo de muestra. El flujo de trabajo export-jobs exporta la información de los trabajos de tu proyecto que se encuentran en la región especificada y cumplen los criterios de filtro especificados.

El flujo de trabajo export-jobs exporta información de las tareas a una tabla especificada de un conjunto de datos especificado, que el flujo de trabajo crea automáticamente si aún no existen en tu proyecto. De forma predeterminada, el flujo de trabajo export-jobs también elimina las tareas exportadas de Batch, pero puedes editarlo para que no lo haga.

Para cada flujo de trabajo de exportación de tareas que quiera usar, haga lo siguiente:

  1. Configura la definición del flujo de trabajo.
  2. Crea y despliega el flujo de trabajo.
  3. Ejecuta el flujo de trabajo. Repite este paso cada vez que quieras exportar los trabajos especificados.

Configurar la definición del flujo de trabajo

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

  2. Abre el archivo export-to-bigquery-delete-batch-jobs.yaml en un editor de texto. A continuación, haz los siguientes cambios:

    1. Sustituye sys.get_env("GOOGLE_CLOUD_PROJECT_ID") por el ID de tu proyecto con formato de cadena (por ejemplo, "my-project-id").

    2. Sustituye sys.get_env("GOOGLE_CLOUD_LOCATION") por la región que contiene los trabajos que quieres exportar. El formato debe ser una cadena, por ejemplo, "us-central1".

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

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

    4. Opcional: Sustituye default_dataset_id por otro nombre para el conjunto de datos que quieras que use o cree el flujo de trabajo de exportación.

    5. Opcional: Sustituye default_table_id por otro nombre de la tabla que quieras que use o cree el flujo de trabajo export-jobs.

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

      1. Elimina 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. Quitar + " and deleted".

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

Crear y desplegar el flujo de trabajo

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

    Ir a Workflows

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

  3. En el campo Nombre del flujo de trabajo, introduce un nombre para el flujo de trabajo (por ejemplo, export-batch-jobs-us-central1).

  4. En la lista Cuenta de servicio, selecciona la que hayas preparado.

  5. Haz clic en Siguiente.

  6. En el editor del flujo de trabajo, sustituye el flujo de trabajo de ejemplo por el contenido del archivo export-to-bigquery-delete-batch-jobs.yaml. Después, puedes cerrar el archivo.

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

Ejecutar el flujo de trabajo

  1. En la página Detalles del flujo de trabajo, haz clic en Ejecutar. Se abrirá la página Ejecutar flujo de trabajo.

  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 termine de ejecutarse. Por ejemplo, el tiempo de ejecución para exportar y eliminar algunos trabajos suele ser de unos segundos, pero puede que tarde más si exportas y eliminas muchos trabajos.

    Cuando el flujo de trabajo haya terminado de ejecutarse, el panel Salida mostrará los resultados.

Ver la información del trabajo exportado

En esta sección se explica cómo ver los datos de la tabla creada por el flujo de trabajo export-jobs. Por ejemplo, puedes seguir estos pasos para comprobar que el flujo de trabajo se ha ejecutado correctamente y consultar los datos de la tabla. Para obtener más información sobre cómo ver y usar la información de las tareas exportadas, como escribir consultas, consulta el artículo Gestionar datos de tablas de la documentación de BigQuery.

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

    Ir a BigQuery

  2. En el panel Explorador, abra la tabla con la información del trabajo exportado:

    1. En el campo Buscar recursos de BigQuery, introduce el nombre de la tabla del flujo de trabajo de exportación. Por ejemplo, el nombre de tabla predeterminado 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, haga clic en la pestaña Detalles.

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

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

Siguientes pasos