Configura los parámetros adicionales de la tabla

En este documento, se muestra cómo configurar parámetros adicionales de la tabla en un archivo de definición de tablas. Con Dataform Core, puedes definir pre_operations y post_operations para ejecutar una instrucción de SQL antes o después de la creación de la tabla. También puedes anular la configuración de la tabla, como database o schema, y, luego, inhabilitar la creación de la tabla.

Antes de comenzar

  1. En la consola de Google Cloud , 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.

Roles obligatorios

Para obtener los permisos que necesitas para configurar parámetros adicionales de la tabla, pídele a tu administrador que te otorgue el rol de IAM de Editor de Dataform (roles/dataform.editor) en los espacios de trabajo. 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.

Anular la configuración de la tabla

Puedes anular el esquema, la base de datos y el nombre de una tabla seleccionada.

De forma predeterminada, una tabla sigue el esquema y la configuración de la base de datos que estableces en workflow_settings.yaml. El nombre de una tabla es el mismo que el del archivo SQLX de definición de la tabla.

Para anular el esquema y el nombre de una tabla seleccionada, sigue estos pasos:

  1. Ve a tu espacio de trabajo de desarrollo.

  2. En el panel Archivos, expande definitions/.

  3. Abre un archivo de definición de tablas SQLX.

  4. En el bloque config, ingresa el siguiente fragmento de código:

     {
       schema: "OVERRIDDEN_SCHEMA",
       database: "OVERRIDDEN_DATABASE",
       name: "OVERRIDDEN_NAME"
     }
    

    Reemplaza lo siguiente:

    • OVERRIDDEN_SCHEMA: Es el conjunto de datos de BigQuery en el que deseas crear la tabla.

    • OVERRIDDEN_DATABASE: Es el ID del proyecto de BigQuery en el que deseas crear la tabla.

    • OVERRIDDEN_NAME: El nombre de la tabla, que es diferente del nombre de archivo de la definición de la tabla SQLX

  5. Opcional: Haz clic en Formato.

Haz referencia a una tabla con un nombre de tabla anulado

  • Para hacer referencia a una tabla con un nombre de tabla anulado, en la función ref, ingresa el nombre de tabla anulado establecido en name: "".

La siguiente muestra de código hace referencia a una tabla con el nombre anulado como overridden_name:

  SELECT * FROM ${ref("overridden_name")}

Define una instrucción de SQL que se ejecutará antes de la creación de la tabla

Puedes configurar Dataform para que ejecute una o más sentencias SQL antes de crear una tabla seleccionada en BigQuery. Para ejecutar una instrucción SQL antes de que Dataform cree una tabla seleccionada, agrega la instrucción al bloque pre_operations en el archivo SQLX de definición de la 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 espacio de trabajo de desarrollo.

  2. En el panel Archivos, expande definitions/.

  3. Abre un archivo de definición de tablas SQLX.

  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 muestran instrucciones pre_operations que crean 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 sentencias 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 instrucción al bloque post_operations en el archivo SQLX de definición de la tabla. Puedes agregar varias instrucciones 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 espacio de trabajo de desarrollo.

  2. En el panel Archivos, expande definitions/.

  3. Abre un archivo de definición de tablas SQLX.

  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 el siguiente muestra de código, se muestran instrucciones post_operations que otorgan a los grupos acceso a la tabla creada:

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

Inhabilita la creación de tablas

Para evitar que Dataform cree una tabla seleccionada en BigQuery, puedes inhabilitarla en su archivo de definición de tabla SQLX. 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 tu flujo de trabajo mientras solucionas el problema.

Para inhabilitar una tabla, sigue estos pasos:

  1. Ve a tu espacio de trabajo de desarrollo.

  2. En el panel Archivos, expande definitions/.

  3. Selecciona un archivo de definición de tabla SQLX.

  4. En el bloque config del archivo, ingresa disabled: true.

  5. Opcional: Haz clic en Formato.

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

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

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

¿Qué sigue?