Configura acciones adicionales

Este documento te muestra cómo hacer lo siguiente:

Antes de comenzar

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

    Ir a Dataform

  2. Selecciona o crea un repositorio.

  3. Selecciona o crea un lugar de trabajo de desarrollo.

  4. Crea una tabla.

  5. Define un archivo SQLX de cualquiera de los siguientes tipos:

Roles obligatorios

Para obtener los permisos que necesitas para completar las tareas de este documento, pídele a tu administrador que te otorgue los siguientes roles de IAM:

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

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

Define una instrucción de SQL para que se ejecute antes de la creación de la tabla

Puedes configurar Dataform para que ejecute una o más instrucciones de SQL antes de crear una tabla seleccionada en BigQuery. Para ejecutar una instrucción de SQL antes de que Dataform cree una tabla seleccionada, agrega tu instrucción al bloque pre_operations en el archivo SQLX de definición de tabla.

Para crear una instrucción de SQL personalizada que se ejecute antes de que Dataform cree una tabla específica, sigue estos pasos:

  1. Ve a tu lugar de trabajo de desarrollo.
  2. En el panel Archivos, expande definitions/.
  3. Abre un archivo SQLX de definición de tabla.
  4. Fuera del bloque config, ingresa pre_operations { ... }.
  5. Dentro de pre_operations { ... }, agrega tu instrucción de SQL.
  6. Opcional: Para agregar varias instrucciones, sepáralas con ---.
  7. Opcional: Haz clic en Formato.

En la siguiente muestra de código, se muestra una instrucción pre_operations que crea una función temporal que se puede usar en la instrucción select:

pre_operations {
  CREATE TEMP FUNCTION AddFourAndDivide(x INT64, y INT64)
    RETURNS FLOAT64
    AS ((x + 4) / y);
}

Define una instrucción de SQL para que se ejecute después de la creación de la tabla

Puedes configurar Dataform para que ejecute una o más instrucciones de SQL después de crear una tabla seleccionada en BigQuery. Para ejecutar una instrucción de SQL después de que Dataform cree una tabla seleccionada, agrega tu sentencia al bloque post_operations en el archivo SQLX de definición de tabla. Puedes agregar varias instrucciones de SQL al bloque post_operations.

Para crear una instrucción de SQL personalizada que se ejecute después de que Dataform cree una tabla específica, sigue estos pasos:

  1. Ve a tu lugar de trabajo de desarrollo.
  2. En el panel Archivos, expande definitions/.
  3. Abre un archivo SQLX de definición de tabla.
  4. Fuera del bloque config, ingresa post_operations { ... }.
  5. Dentro de post_operations { ... }, agrega tu instrucción de SQL.
  6. Opcional: Haz clic en Formato.

En la siguiente muestra de código, se muestran instrucciones post_operations que otorgan acceso a grupos a la tabla creada:

  post_operations {
    GRANT `roles/bigquery.dataViewer`
    ON
    TABLE ${self()}
    TO "group:allusers@example.com", "user:otheruser@example.com"
  }

Enriquecimiento automatizado de metadatos

Dataform admite el enriquecimiento automatizado de metadatos para tablas y vistas de BigQuery creadas con flujos de trabajo de SQLX. Cuando se completa correctamente una acción de tabla, Dataform intenta escribir los metadatos definidos en la entrada correspondiente de Knowledge Catalog. Este proceso se desacopla de la ejecución de SQL de las siguientes maneras:

  • Latencia: La sincronización es asíncrona, lo que significa que tus trabajos de BigQuery no esperan a que finalice la actualización de Knowledge Catalog.
  • Confiabilidad: Si falla la sincronización (por ejemplo, debido a límites de frecuencia de la API), Dataform vuelve a intentar la actualización automáticamente. Una actualización de metadatos fallida no hace que falle tu acción o flujo de trabajo de Dataform.

En la siguiente muestra de código, se muestra cómo definir metadatos para Knowledge Catalog en el bloque de configuración de un archivo SQLX:

config {
  type: "table",
  metadata: {
    overview: "This table provides standardized trip data.",
    extraProperties: {
      generic: {
        system: "BigQuery",
        type: "table"
      }
    }
  }
}

Para verificar el estado de una actualización de metadatos, sigue las instrucciones que se indican en Inspecciona los registros de ejecución del espacio de trabajo.

Para ver los metadatos enriquecidos, puedes buscar tus tablas y vistas de BigQuery en Knowledge Catalog. Para obtener más información, consulta Busca recursos.

Inhabilita la creación de tablas

Para evitar que Dataform cree una tabla seleccionada en BigQuery, puedes inhabilitar la tabla en su archivo SQLX de definición de tabla. Dataform mantiene una tabla inhabilitada en el gráfico de dependencias, pero no la compila ni la crea. Esto puede ser útil, por ejemplo, si falla una tabla y no quieres que falle todo el flujo de trabajo mientras solucionas el problema.

Para inhabilitar una tabla, sigue estos pasos:

  1. Ve a tu lugar de trabajo de desarrollo.
  2. En el panel Archivos, expande definitions/.
  3. Selecciona un archivo SQLX de definición de tabla.
  4. En el bloque config del archivo, ingresa disabled: true.
  5. Opcional: Haz clic en Formato.

En la siguiente muestra de código, se muestra una tabla inhabilitada:

config {
  type: "table",
  disabled: true
}

select * from ${ref("source_data")}

Agrega etiquetas de ejecución

En esta sección, se muestra cómo agregar etiquetas a los archivos SQLX principales de Dataform para categorizar tu flujo de trabajo.

Para organizar los componentes de tu flujo de trabajo en colecciones, puedes agregar etiquetas personalizadas a archivos SQLX de los siguientes tipos:

  • table
  • view
  • incremental
  • assertion
  • operations

Durante una ejecución de flujo de trabajo, puedes ejecutar solo archivos con una etiqueta seleccionada.

Con Managed Service para Apache Airflow o Workflows junto con Cloud Scheduler, puedes crear una programación que ejecute un flujo de trabajo de Dataform con una etiqueta seleccionada en un intervalo específico.

Agregar una etiqueta

Puedes agregar varias etiquetas a un archivo SQLX.

Para agregar una etiqueta a un archivo SQLX, sigue estos pasos:

  1. Ve a tu lugar de trabajo de desarrollo.
  2. En el panel Archivos, expande definitions/.
  3. Selecciona un archivo SQLX.
  4. En el bloque config, agrega una etiqueta con el siguiente formato:

    tags: ["CUSTOM_TAG"]
    

    Reemplaza CUSTOM_TAG por tu etiqueta.

  5. Opcional: Para agregar varias etiquetas, sepáralas con una coma (,).

  6. Opcional: Haz clic en Formato.

En la siguiente muestra de código, se muestra la vista user_counts con las etiquetas daily y hourly:

config {
  type: "view",
  name: "user_counts",
  tags: ["daily", "hourly"]
}

¿Qué sigue?