Crear y ejecutar un flujo de trabajo de SQL en Dataform

En esta guía de inicio rápido, se explica el proceso siguiente en Dataform para crear un flujo de trabajo de SQL y ejecutarlo en BigQuery:

Antes de comenzar

  1. Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  4. Enable the BigQuery and Dataform APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  7. Enable the BigQuery and Dataform APIs.

    Enable the APIs

Roles obligatorios

A fin de obtener los permisos que necesitas para realizar todas las tareas de este instructivo, solicita a tu administrador que te otorgue el los siguientes roles de IAM en tu proyecto:

  • Administrador de Dataform (roles/dataform.admin): Repositorios
  • Editor de Dataform (roles/dataform.editor): invocaciones del flujo de trabajo y lugares de trabajo

Si quieres obtener más información para otorgar roles, consulta Administra el acceso.

También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.

Crea un repositorio de Dataform

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

    Ir a Dataform

  2. Haz clic en Crear repositorio.

  3. En la página Crear repositorio, haz lo siguiente:

    1. En el campo ID del repositorio, ingresa quickstart-repository.

    2. En la lista Región, selecciona europe-west4.

    3. Haz clic en Crear.

Crea e inicializar un lugar de trabajo de desarrollo de Dataform

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

    Ir a Dataform

  2. Haz clic en quickstart-repository.

  3. Haz clic en Crear desarrollo. Workspace.

  4. En la ventana Crear lugar de trabajo de desarrollo, haz lo siguiente:

    1. En el campo ID del lugar de trabajo, ingresa quickstart-workspace.

    2. Haz clic en Crear.

    Aparecerá la página del lugar de trabajo de desarrollo.

  5. Haga clic en Inicializar espacio de trabajo.

Crea una vista

En las siguientes secciones, definirás una vista que luego usarás como vista fuente de una tabla.

Crea un archivo SQLX para definir una vista

  1. En el panel Archivos, junto a definitions/, haz clic en el Menú Más

  2. Haz clic en Crear archivo.

  3. En el panel Crear archivo nuevo, haz lo siguiente:

    1. En el campo Agregar una ruta de archivo, ingresa definitions/quickstart-source.sqlx.

    2. Haz clic en Crear archivo.

Cómo definir una vista

  1. En el panel Files, expande la carpeta de definiciones.

  2. Haz clic en definitions/quickstart-source.sqlx.

  3. En el archivo, ingresa el siguiente fragmento de código:

    config {
     type: "view"
    }
    
    SELECT
     "apples" AS fruit,
     2 AS count
    UNION ALL
    SELECT
     "oranges" AS fruit,
     5 AS count
    UNION ALL
    SELECT
     "pears" AS fruit,
     1 AS count
    UNION ALL
    SELECT
     "bananas" AS fruit,
     0 AS count
    
  4. Haz clic en Formato.

Crear una tabla

En las siguientes secciones, definirás el tipo de tabla en un archivo SQLX y, luego, escribir una sentencia SELECT para definir la estructura de la tabla dentro del mismo archivo

Crea un archivo SQLX para la definición de tablas

  1. En el panel Archivos, junto a definitions/, haz clic en el en el menú Más y, luego, selecciona Crear archivo.

  2. En el campo Add a file path, ingresa definitions/quickstart-table.sqlx.

  3. Haz clic en Crear archivo.

Cómo definir el tipo, la estructura y las dependencias de la tabla

  1. En el panel Files, expande el directorio definitions/.

  2. Selecciona quickstart-table.sqlx y, luego, ingresa el siguiente tipo de tabla Instrucción SELECT:

    config {
     type: "table"
    }
    
    SELECT
     fruit,
     SUM(count) as count
    FROM ${ref("quickstart-source")}
    GROUP BY 1
    
  3. Haz clic en Formato.

Después de definir el tipo de tabla, Dataform arroja un error de validación de consulta. porque quickstart-source aún no existe en BigQuery. Esta se resolverá cuando ejecutes el flujo de trabajo de SQL más adelante en este instructivo.

Otorga acceso de Dataform a BigQuery

Para ejecutar flujos de trabajo en BigQuery, la API de Dataform la cuenta de servicio debe tener los siguientes roles obligatorios:

Para otorgar estos roles, sigue estos pasos:

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

    Ve a la página IAM

  2. Haz clic en Agregar.

  3. En el campo Principales nuevas, ingresa tu servicio de Dataform. ID de la cuenta.

  4. En la lista desplegable Seleccionar un rol, selecciona Rol Usuario del trabajo de BigQuery.

  5. Haz clic en Agregar otro rol y, luego, en el menú desplegable Selecciona un rol. selecciona el rol Editor de datos de BigQuery.

  6. Haz clic en Agregar otro rol y, luego, en el menú desplegable Selecciona un rol. selecciona el rol Visualizador de datos de BigQuery.

  7. Haz clic en Guardar.

Ejecuta el flujo de trabajo

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

    Ir a Dataform

  2. En la página de quickstart-workspace, haz clic en Iniciar ejecución.

  3. Haz clic en Todas las acciones.

  4. En el panel Ejecutar, haz clic en Iniciar ejecución.

    Dataform usa la configuración predeterminada del repositorio para crear el contenidos de tu flujo de trabajo en un conjunto de datos de BigQuery llamado dataform

Ver registros de ejecución en Dataform

  1. En la página quickstart-repository, haz clic en Registros de ejecución del flujo de trabajo.

  2. Para ver los detalles de tu ejecución, haz clic en la última ejecución.

Limpia

Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en esta página.

Borra el conjunto de datos creado en BigQuery

Para evitar que se apliquen cargos por los recursos de BigQuery, borra el conjunto de datos llamado dataform.

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

    Ir a BigQuery

  2. En el panel Explorador, expande tu proyecto y selecciona dataform.

  3. Haz clic en el menú Acciones y, luego, selecciona Borrar.

  4. En el diálogo Borrar conjunto de datos, ingresa delete en el campo y, luego, Haz clic en Borrar.

Borra el lugar de trabajo de desarrollo de Dataform

La creación del espacio de trabajo de desarrollo de Dataform no genera costos, pero se debe borrar en el lugar de trabajo de desarrollo, sigue estos pasos:

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

    Ir a Dataform

  2. Haz clic en quickstart-repository.

  3. En la pestaña Development workspaces, haz clic en . el menú Más de quickstart-workspace y, luego, selecciona Borrar.

  4. Para confirmar la acción, haz clic en Borrar.

Borra el repositorio de Dataform

La creación del repositorio de Dataform no genera costos, pero borrar de Terraform, puedes seguir estos pasos:

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

    Ir a Dataform

  2. En quickstart-repository, haz clic en el menú Más y, luego, selecciona Borrar.

  3. En la ventana Borrar repositorio, ingresa el nombre del repositorio para confirmar su eliminación.

  4. Para confirmar la acción, haz clic en Borrar.

¿Qué sigue?