En esta página, se muestra cómo editar la configuración de procesamiento de Dataform para un repositorio específico.
Es posible que desees editar el archivo de configuración para cambiar el nombre de los esquemas o agregar variables de compilación personalizadas a tu repositorio.
Información acerca de la configuración del repositorio
Cada repositorio de Dataform contiene un archivo de configuración workflow_settings.yaml
único. El archivo contiene el ID del proyecto de Google Cloud y el esquema en el que Dataform publica elementos en BigQuery.
Dataform usa una configuración predeterminada que puedes anular para que se adapte mejor a tus
necesidades editando el archivo workflow_settings.yaml
.
En la siguiente muestra de código, se ve un archivo workflow_settings.yaml
de muestra:
defaultProject: my-gcp-project-id
defaultDataset: dataform
defaultLocation: australia-southeast2
defaultAssertionDataset: dataform_assertions
En el código de muestra, los pares clave-valor y todas las demás opciones de configuración del flujo de trabajo se describen en la referencia de configuración para la configuración del flujo de trabajo.
Puedes acceder a las propiedades definidas en workflow_settings.yaml
en el código de tu proyecto como propiedades del objeto dataform.projectConfig
. Se aplican las siguientes asignaciones de las opciones de workflow_settings.yaml
a las opciones de dataform.projectConfig
al que se puede acceder desde el código:
defaultProject
=>defaultDatabase
.defaultDataset
=>defaultSchema
.defaultAssertionDataset
=>assertionSchema
.projectSuffix
=>databaseSuffix
.datasetSuffix
=>schemaSuffix
.namePrefix
=>tablePrefix
.
Para obtener más información sobre
el objeto dataform.projectConfig
,
consulta la Referencia principal de Dataform IProjectConfig
.
En la siguiente muestra de código, se ve el objeto dataform.projectConfig
al que se llama en una sentencia SELECT
en una vista:
config { type: "view" }
SELECT ${when(
!dataform.projectConfig.tablePrefix,
"table prefix is set!",
"table prefix is not set!"
)}
Antes de comenzar
Funciones obligatorias
Si quieres obtener los permisos que necesitas para definir la configuración de Dataform,
pídele a tu administrador que te otorgue el
rol de IAM Administrador de Dataform (roles/dataform.admin
) en los repositorios.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso.
Es posible que también puedas obtener los permisos necesarios a través de los roles personalizados o de otros roles predefinidos.
Configura los nombres de esquemas
En esta tarea, se muestra cómo configurar las propiedades defaultDataset
y defaultAssertionSchema
en el archivo workflow_settings.yaml
.
Para cambiar el nombre de un esquema, sigue estos pasos:
En el lugar de trabajo de desarrollo, en el panel Files, haz clic en el archivo
workflow_settings.yaml
.Edita el valor de
defaultDataset
,defaultAssertionSchema
o ambos.
En la siguiente muestra de código, se ve un nombre defaultDataset
personalizado en el archivo workflow_settings.yaml
:
...
defaultDataset: mytables
...
Crea variables de compilación personalizadas
Las variables de compilación contienen valores que puedes modificar con anulaciones de compilación en una solicitud a la API de Dataform.
Después de definir una variable de compilación en workflow_settings.yaml
y agregarla a las tablas seleccionadas, puedes modificar su valor en
Anulaciones de compilación de la API de Dataform para ejecutar tablas de manera condicional.
Para crear una variable de compilación que puedas usar en un repositorio, sigue estos pasos:
- Ve a tu lugar de trabajo de desarrollo de Dataform.
- En el panel Archivos, selecciona el archivo
workflow_settings.yaml
. Ingresa el siguiente fragmento de código:
"vars": { "YOUR_VARIABLE":"VALUE" }
Reemplaza lo siguiente:
- YOUR_VARIABLE por un nombre para la variable
- VALUE por el valor predeterminado de la variable de compilación
En la siguiente muestra de código, se ve la variable de compilación myVariableName
establecida en myVariableValue
en el archivo workflow_settings.yaml
:
...
vars:
myVariableName: myVariableValue
...
En la siguiente muestra de código, se ve el archivo workflow_settings.yaml
con la variable de compilación executionSetting
establecida en dev
:
defaultProject: default_bigquery_database
defaultLocation:us-west1
defaultDataset: dataform_data,
vars:
executionSetting: dev
Cómo agregar una variable de compilación a una tabla
Para agregar una variable de compilación a un archivo de definición de tablas de SQLX, sigue estos pasos:
- Ve a tu lugar de trabajo de desarrollo de Dataform.
- En el panel Archivos, selecciona un archivo de definición de tablas de SQLX.
En el archivo, ingresa una cláusula
when
en el siguiente formato:${when(dataform.projectConfig.vars.YOUR_VARIABLE === "SET_VALUE", "CONDITION")}
Reemplaza lo siguiente:
- YOUR_VARIABLE por el nombre de la variable,
por ejemplo,
executionSetting
- SET_VALUE con un valor para la variable, por ejemplo,
staging
- CONDITION con una condición para la ejecución de la tabla.
- YOUR_VARIABLE por el nombre de la variable,
por ejemplo,
En la siguiente muestra de código, se ve un archivo SQLX de definición de tablas con una cláusula when
y la variable executionSetting
que ejecuta el 10% de los datos en la configuración de ejecución de etapa de pruebas:
select
*
from ${ref("data")}
${when(
dataform.projectConfig.vars.executionSetting === "staging",
"where mod(farm_fingerprint(id) / 10) = 0",
)}
En la siguiente muestra de código, se muestra un archivo SQLX de definición de la vista con una cláusula when
y la variable myVariableName
:
config { type: "view" }
SELECT ${when(
dataform.projectConfig.vars.myVariableName === "myVariableValue",
"myVariableName is set to myVariableValue!",
"myVariableName is not set to myVariableValue!"
)}
¿Qué sigue?
Para obtener más información sobre la configuración del proyecto de Dataform, consulta la referencia de
IProjectConfig
.Para obtener información sobre el control de versión del código en Dataform, consulta Controla las versiones de tu código.
Si deseas aprender a definir una tabla, consulta Cómo crear una tabla.