Compartir a través de


Conexión a dbt Core

En este artículo se explica qué es dbt, cómo instalar dbt Core y cómo conectarse. También está disponible la versión hospedada de dbt denominada dbt Cloud. Para más información, consulte Conexión a dbt Cloud.

¿Qué es dbt?

dbt (herramienta de compilación de datos) es un entorno de desarrollo para transformar datos escribiendo instrucciones select. dbt convierte estas instrucciones select en tablas y vistas. dbt compila el código en SQL sin procesar y, después, ejecuta ese código en la base de datos especificada en Azure Databricks. dbt admite patrones de codificación y procedimientos recomendados para la colaboración, como el control de versiones, la documentación y la modularidad.

dbt no extrae ni carga datos. dbt se centra solo en el paso de transformación, mediante una arquitectura de "transformación después de la carga". dbt supone que ya tiene una copia de los datos en la base de datos.

dbt Core le permite escribir código dbt en el IDE de su elección en su máquina de desarrollo local y luego ejecutar dbt desde la línea de comandos. dbt Core incluye la interfaz de la línea de comandos (CLI) de dbt. La CLI de dbt es gratuita y de código abierto.

dbt Core (y dbt Cloud) pueden usar repositorios Git hospedados. Para más información, consulte Creación de un proyecto de dbt y Uso de un proyecto existente en el sitio web de dbt.

Requisitos de instalación

Antes de instalar dbt Core, debe instalar lo siguiente en la máquina de desarrollo local:

  • Python 3.7 o versiones superiores
  • Una utilidad para crear entornos virtuales de Python (como pipenv)

También necesita una de las siguientes opciones para autenticarse:

  • (Recomendado) dbt Core habilitado como una aplicación de OAuth en su cuenta. Esta opción está habilitada de manera predeterminada.

  • Un token de acceso personal

    Nota:

    Como procedimiento recomendado de seguridad al autenticarse con herramientas automatizadas, sistemas, scripts y aplicaciones, Databricks recomienda usar tokens de OAuth.

    Si usa la autenticación de tokens de acceso personal, Databricks recomienda usar tokens de acceso personales que pertenecen a entidades de servicio en lugar de usuarios del área de trabajo. Para crear tókenes para entidades de servicio, consulte Administración de tokens de acceso para una entidad de servicio.

Paso 1: Instalación del adaptador de dbt Databricks

Se recomienda usar un entorno virtual de Python, ya que aísla las versiones de paquetes y las dependencias de código de ese entorno específico, independientemente de las versiones del paquete y las dependencias de código dentro de otros entornos. Esto ayuda a reducir las discrepancias inesperadas en la versión del paquete y las colisiones de dependencias de código.

Databricks recomienda la versión 1.8.0 o una posterior del paquete dbt-databricks.

.. Importante: Si la máquina de desarrollo local usa cualquiera de los siguientes sistemas operativos, primero debe completar pasos adicionales: CentOS, MacOS, Ubuntu, Debian y Windows. Consulte la sección "¿Mi sistema operativo tiene requisitos previos?" de Uso de pip para instalar dbt en el sitio web de dbt Labs.

Paso 2: Creación de un proyecto de dbt y especificación y prueba de la configuración de conexión

Cree un proyecto de dbt, que es una colección de directorios y archivos relacionados necesarios para usar dbt. A continuación, configurará los perfiles de conexión, que contienen la configuración de conexión a un proceso de Azure Databricks, un almacén de SQL, o ambos. Para aumentar la seguridad, los proyectos y perfiles de dbt se almacenan en ubicaciones independientes de forma predeterminada.

  1. Con el entorno virtual aún activado, ejecute el comando dbt init con un nombre para el proyecto. Este procedimiento crea un proyecto denominado my_dbt_demo.

    dbt init my_dbt_demo
    
  2. Cuando se le pregunte si desea usar una base de datos databricks o spark, escriba el número que corresponda a databricks.

  3. Cuando se le solicite un valor host, haga lo siguiente:

    • Para un proceso, escriba el valor de Nombre de host del servidor de la pestaña Opciones avanzadas, JDBC/ODBC del proceso de Azure Databricks.
    • En el caso de un almacén de SQL, escriba el valor de Nombre de host del servidor que figura en la pestaña Detalles de conexión del almacén de SQL.
  4. Cuando se le solicite un valor http_path, haga lo siguiente:

    • Escriba el valor de Ruta de acceso HTTP de la pestaña Opciones avanzadas, JDBC/ODBC del proceso de Azure Databricks.
    • En el caso de un almacén de SQL, escriba el valor de Ruta de acceso HTTP que figura en la pestaña Detalles de conexión del almacén de SQL.
  5. Para elegir un tipo de autenticación, escriba el número que corresponde con use oauth (recomendado) o use access token.

  6. Si ha elegido use access token para el tipo de autenticación, escriba el valor del token de acceso personal de Azure Databricks.

    Nota:

    Como procedimiento recomendado de seguridad, cuando se autentique con herramientas, sistemas, scripts y aplicaciones automatizados, Databricks recomienda usar los tokens de acceso personal pertenecientes a las entidades de servicio en lugar de a los usuarios del área de trabajo. Para crear tókenes para entidades de servicio, consulte Administración de tokens de acceso para una entidad de servicio.

  7. Cuando se le solicite el valor desired Unity Catalog option, escriba el número que se corresponde con use Unity Catalog o not use Unity Catalog.

  8. Si decide usar el catálogo de Unity, escriba el valor deseado para catalog cuando se le solicite.

  9. Escriba los valores deseados para schema y threads cuando se le solicite.

  10. dbt escribe las entradas en un archivo profiles.yml. La ubicación de este archivo se muestra en la salida del comando dbt init. También puede enumerar esta ubicación más adelante ejecutando el comando dbt debug --config-dir. Ahora puede abrir este archivo para examinar y comprobar su contenido.

    Si eligió use oauth para el tipo de autenticación, agregue el perfil de autenticación de máquina a máquina (M2M) o de usuario a máquina (U2M) a profiles.yml.

    Consulte Configurar el inicio de sesión de Azure Databricks desde dbt Core con Microsoft Entra ID para obtener ejemplos.

    Databricks no recomienda especificar secretos enprofiles.yml directamente. En su lugar, establezca el id. y el secreto de cliente como variables de entorno.

  11. Confirme los detalles de conexión al ejecutar el comando dbt debug en el directorio my_dbt_demo.

    Si ha elegido use oauth para el tipo de autenticación, se le pedirá que inicie sesión con el proveedor de identidades.

    Importante

    Antes de comenzar, compruebe que el proceso o el almacén de SQL se está ejecutando.

    Debería ver un resultado similar al siguiente:

    cd my_dbt_demo
    dbt debug
    
    ...
    Configuration:
      profiles.yml file [OK found and valid]
      dbt_project.yml file [OK found and valid]
    
    Required dependencies:
      - git [OK found]
    
    Connection:
      ...
      Connection test: OK connection ok
    

Pasos siguientes

Recursos adicionales