Crea y ejecuta un flujo de trabajo en 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. Habilita las API de BigQuery and Dataform.

    Habilita las API

  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. Habilita las API de BigQuery and Dataform.

    Habilita las API

Funciones obligatorias

A fin de obtener los permisos que necesitas para realizar todas las tareas de este instructivo, pídele a tu administrador que te otorgue 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.

Es posible que también puedas obtener los permisos necesarios a través de funciones personalizadas o, también, otras funciones predefinidas.

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 lugar de trabajo de desarrollo.

  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 fuente de datos para una tabla.

Crea un archivo SQLX para definir una vista

  1. En el panel Files, junto a definitions/, haz clic en el menú More.

  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.

Crea una tabla

En las siguientes secciones, definirás el tipo de tabla en un archivo SQLX y, luego, escribirás una declaración 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 Files, junto a definitions/, haz clic en el menú More y, luego, selecciona Create file.

  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 y la declaració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 muestra un error de validación de consulta porque quickstart-source aún no existe en BigQuery. Este error se resuelve cuando ejecutas 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 cuenta de servicio de Dataform 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 el ID de tu cuenta de servicio de Dataform.

  4. En la lista desplegable Seleccionar una función, selecciona la función Usuario de trabajo de BigQuery.

  5. Haz clic en Agregar otra función y, luego, en la lista desplegable Seleccionar una función, selecciona la función Editor de datos de BigQuery.

  6. Haz clic en Agregar otra función y, luego, en la lista desplegable Seleccionar una función, selecciona la función 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 contenido 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 se usaron 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 cuadro de 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 lugar de trabajo de desarrollo de Dataform no genera costos, pero puedes seguir estos pasos para borrarlo:

  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ú More de quickstart-workspace y, luego, selecciona Delete.

  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 puedes seguir estos pasos para borrar el repositorio:

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

    Ir a Dataform

  2. Junto a 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?