dbt con Teradata Vantage
Información general
En este tutorial se realiza una demostración de cómo utilizar dbt (Data Build Tool) con Teradata Vantage. Está basado en el tutorial de Jaffle Shop sobre dbt. Se han ajustado un par de modelos al dialecto SQL admitido por Vantage.
Prerrequisitos
-
Acceso a una instancia de Teradata Vantage.
NotaSi necesita una instancia de prueba de Vantage, puede obtener una de forma gratuita en https://clearscape.teradata.com
-
Python 3.7, 3.8, 3.9, 3.10 o 3.11 instalado.
Instalar dbt
-
Clone el repositorio del tutorial y use cd para ir al directorio del proyecto:
-
Cree un nuevo entorno Python para administrar dbt y sus dependencias.
Active el entorno:
- Windows
- MacOS
- Linux
Run in Powershell:
-
Instale el módulo
dbt-teradata
y sus dependencias. El módulo dbt principal se incluye como dependencia, por lo que no es necesario instalarlo por separado:NotaDependencias de dbt
El módulo
dbt-core
se incluyó como dependencia solo hasta la versión 1.7.x de dbt-teradata. A partir dedbt-teradata
1.8.0 y versiones posteriores,dbt-core
no se instalará como dependencia. Por lo tanto, debe instalar explícitamentedbt-core
además de instalardbt-teradata
. Puede encontrar más información sobre cómo desacoplar los adaptadores dbt dedbt-core
aquí: https://github.com/dbt-labs/dbt-core/discussions/9171
Configurar dbt
Configure dbt para conectarse a su base de datos Vantage. Cree el archivo profiles.yml
en la ubicación que se muestra a continuación.
- Windows
- MacOS
- Linux
Run in Powershell:
Agregue la siguiente configuración al archivo profile.yml
. Ajuste <host>
, <user>
, <password>
para que coincida con su instancia de Teradata Vantage.
Configuración de la base de datos
El siguiente perfil de dbt apunta a una base de datos denominada jaffle_shop
.
Si la base de datos no existe en su instancia de Teradata Vantage, se creará. También puede cambiar el valor schema
para que apunte a una base de datos existente en su instancia.
Ahora que tenemos el archivo de perfil en su lugar, podemos validar la configuración:
Si el comando de depuración devolvió errores, es probable que tenga un problema con el contenido de profiles.yml
.