Saltar al contenido principal

Utilizar Apache Airflow con Teradata Vantage

Información general

Este tutorial demuestra cómo utilizar Airflow con Teradata Vantage. Airflow se instalará en el sistema Ubuntu.

Prerrequisitos

  • Ubuntu 22.x
  • Acceso a una instancia de Teradata Vantage.
    Nota

    Si necesita una instancia de prueba de Vantage, puede obtener una de forma gratuita en https://clearscape.teradata.com

  • Python 3.8, 3.9, 3.10 o 3.11 instalado.
  • pip

Instalar Apache Airflow

  1. Configure la variable de entorno AIRFLOW_HOME. Airflow requiere un directorio de inicio y usa ~/airflow de forma predeterminada, pero puede establecer una ubicación diferente si lo prefiere. La variable de entorno AIRFLOW_HOME se utiliza para informar a Airflow de la ubicación deseada.

  2. Instale la versión estable 2.8.1 de apache-airflow desde el repositorio de PyPI:

  3. Instale la versión estable del proveedor Airflow Teradata desde el repositorio PyPI.

    Nota

    Por razones de seguridad, la funcionalidad de conexión de prueba está deshabilitada de forma predeterminada en la interfaz de usuario, la API y la CLI de Airflow. La disponibilidad de la funcionalidad se puede controlar mediante el indicador test_connection en la sección principal de la configuración de Airflow ($AIRFLOW_HOME/airflow.cfg) o puede definir la siguiente variable de entorno antes de iniciar el servidor de Airflow. export AIRFLOW__CORE__TEST_CONNECTION=Enabled

Iniciar Airflow independiente

  1. Ejecute Airflow de forma independiente ```bash airflow standalone
  2. Acceda a la interfaz de usuario de Airflow. Visite https://localhost:8080 en el navegador e inicie sesión con los detalles de la cuenta de administrador que se muestran en el terminal.

Las conexiones Teradata se pueden definir en Airflow de las siguientes formas:

  1. Mediante la interfaz de usuario web de Airflow
  2. Mediante una variable de entorno

Definir una conexión Teradata en la interfaz de usuario de Airflow

  1. Abra la sección Administración -> Conexiones de la interfaz de usuario. Haga clic en el enlace Crear para crear una nueva conexión. Menú desplegable de administración de Airflow

  2. Complete los detalles de entrada en la página Nueva conexión. Nueva conexión de Airflow

    • ID de conexión: ID único de la conexión Teradata.
    • Tipo de conexión: tipo de sistema. Seleccione Teradata.
    • URL del servidor de base de datos (obligatorio): nombre de host de la instancia de Teradata al que conectarse.
    • Base de datos (opcional): especifique el nombre de la base de datos a la que conectarse
    • Iniciar sesión (obligatorio): especifique el nombre de usuario para conectarse.
    • Contraseña (obligatoria): especifique la contraseña para conectarse.
    • Haga clic en Probar y guardar.

Definir una conexión Teradata en una variable de entorno

Las conexiones de Airflow se pueden definir en variables de entorno en cualquiera de los formatos siguientes.

  1. Formato JSON

  2. Formato URI

    Nota

    La convención de nomenclatura es AIRFLOW_CONN_CONN_ID, todo en mayúsculas (tenga en cuenta los guiones bajos simples junto a CONN). Si su ID de conexión es teradata_conn_id, el nombre de la variable debe ser AIRFLOW_CONN_TERADATA_CONN_ID

Ejemplo de formato JSON

Ejemplo de formato URI

Consulte Enlace de Teradata para obtener información detallada sobre la conexión Teradata en Airflow.

Definir un DAG en Airflow

  1. En Airflow, los DAG se definen como código Python.
  2. Cree un DAG como un archivo de Python como sample.py en el directorio DAG_FOLDER - $AIRFLOW_HOME/files/dags.

Cargar DAG

Airflow carga DAG desde archivos fuente de Python, que busca dentro de su directorio DAG_FOLDER - $AIRFLOW_HOME/files/dags configurado.

Ejecutar DAG

Los DAG se ejecutarán de dos maneras:

  1. Cuando se activen manualmente o mediante la API
  2. En una programación definida, que se define como parte del DAG example_teradata_operator se define para activarse manualmente. Para definir una programación, cualquier valor de programación de Crontab válida se puede pasar al argumento de programación.

Resumen

Este tutorial demostró cómo utilizar Airflow y el proveedor de Airflow Teradata con una instancia de Teradata Vantage. El DAG de ejemplo proporcionado crea la tabla my_users en la instancia de Teradata Vantage definida en la interfaz de usuario de Connection.

Lectura adicional

Nota

Si tiene alguna pregunta o necesita más ayuda, visite nuestro foro de la comunidad donde podrá obtener ayuda e interactuar con otros miembros de la comunidad.

También de interés