Saltar al contenido principal

Utilizar dbt y FEAST para crear un almacén de funciones en Teradata Vantage

Información general

Este tutorial muestra un enfoque para crear una canalización dbt que toma datos sin procesar y los convierte en funciones FEAST. La canalización aprovecha las "funciones de ClearScape Analytics" para transformaciones de datos. El resultado de las transformaciones se carga en FEAST para materializar características que se pueden usar en modelos de ML.

Introducción

dbt

dbt (Data Build Tool) es una herramienta de transformación de datos que es la piedra angular de las pilas de datos modernas. Se encarga de la T en ELT (Extract Load Transform). Se supone que algún otro proceso trae datos sin procesar a su almacén o lago de datos. Luego, estos datos deben transformarse.

Feast

Feast (Feature Store) es un sistema de datos flexible que utiliza tecnología existente para administrar y proporcionar funciones de aprendizaje automático a modelos en tiempo real. Permite la personalización para satisfacer necesidades específicas. También nos permite hacer que las funciones estén disponibles de manera coherente para entrenamiento y servicio, evitar la fuga de datos y desacoplar el aprendizaje automático de la infraestructura de datos.

Prerrequisitos

Objetivo

El objetivo es crear una canalización de datos con Teradata Vantage como fuente y realizar la transformación de datos en algunas variables en dbt. La principal transformación de datos que hacemos en dbt es la codificación one-hot de varias columnas como género, estado civil, código de estado, etc. Además de eso, los datos de la columna del tipo de cuenta se transformarán realizando operaciones de agregación en un par de columnas. Todo esto en conjunto genera el conjunto de datos deseado con datos transformados. El conjunto de datos transformado se utiliza como entrada en FEAST para almacenar características. Luego, las funciones se utilizan para generar un conjunto de datos de entrenamiento para modelos.

Primeros pasos

  1. Cree un nuevo entorno Python para administrar dbt, feast y sus dependencias. Active el entorno:

  2. Clone el repositorio del tutorial y cambie el directorio al directorio del proyecto:

    La estructura de directorios del proyecto clonado se ve así:

Sobre el almacén bancario

teddy_bank es un conjunto de datos ficticio de clientes bancarios, que consta principalmente de 3 tablas de clientes, cuentas y transacciones, con el siguiente diagrama entidad-relación:

dbt feast

dbt toma estos datos sin procesar y construye el siguiente modelo, que es más adecuado para herramientas de análisis y modelado de ML:

dbt feast

Configurar dbt

Cree el archivo $HOME/.dbt/profiles.yml con el siguiente contenido. Ajuste los archivos <host>, <user> y <password> para que coincidan con su instancia de Teradata.

Configuración de la base de datos

El siguiente perfil dbt apunta a una base de datos llamada teddy_bank. Puede cambiar el valor schema para que apunte a una base de datos existente en su instancia de Teradata Vantage:

Validar la configuración:

Si el comando de depuración devolvió errores, es probable que tenga un problema con el contenido de profiles.yml.

Configurar FEAST

La configuración de Feast aborda la conexión a su base de datos Vantage. El archivo yaml creado al inicializar el proyecto de feast , $HOME/.feast/feature_repo/feature_store.yml puede contener los detalles de almacenamiento fuera de línea, almacenamiento en línea, proveedor y registro. Ajuste <host>, <user>, <password> para que coincida con su instancia de Teradata.

Configuración de la base de datos

El siguiente perfil dbt apunta a una base de datos llamada teddy_bank. Puede cambiar el valor schema para que apunte a una base de datos existente en su instancia de Teradata Vantage

Configuración de tienda sin conexión

Sintaxis para el Registro SQL de Teradata

Ejecutar dbt

En este paso, completaremos las siguientes tablas de datos: customers, accounts, y transactions.

Crear el modelo dimensional

Ahora que tenemos las tablas de datos sin procesar, podemos instruir a dbt para que cree el modelo dimensional:

Ejecutar FEAST

Definición del repositorio de funciones

  • TeradataSource: Fuente de datos para funciones almacenadas en Teradata (Enterprise o Lake) o accesibles a través de una tabla externa desde Teradata (NOS, QueryGrid)

  • Entity: Una colección de características relacionadas semánticamente.

  • Feature View: Una vista de características es un grupo de datos de características de una fuente de datos específica. Las vistas de características le permiten definir de forma coherente características y sus fuentes de datos, lo que permite la reutilización de grupos de características en un proyecto.

Generar datos de entrenamiento

El enfoque para generar datos de entrenamiento puede variar. Dependiendo de los requisitos, 'entitydf' se puede unir a las tablas de datos de origen mediante la asignación de vistas de características. A continuación se muestra una función de ejemplo que genera un conjunto de datos de entrenamiento.

Resumen

Este tutorial demostró cómo usar dbt y FEAST con Teradata Vantage. El proyecto de muestra toma datos sin procesar de Teradata Vantage y produce funciones con dbt. Luego se crearon metadatos de características que forman la base para generar un conjunto de datos de entrenamiento para un modelo con FEAST; todas sus tablas correspondientes que crean el almacén de características también se generan en tiempo de ejecución dentro de la misma base de datos.

Lectura adicional

También de interés