Cómo migrar desde Dataform heredado

Dataform heredado dejará de estar disponible el 26 de febrero de 2024. Después de esa fecha, no podrás acceder a proyectos heredados. En este documento, se describen las diferencias entre Dataform heredado y Dataform en Google Cloud, y se muestra cómo importar un proyecto heredado a Dataform en Google Cloud.

Información sobre las diferencias entre Dataform heredado y Dataform en Google Cloud

Dataform es un servicio sin servidores para que los analistas de datos desarrollen y, luego, implementen tablas, tablas incrementales o vistas en BigQuery. Dataform ofrece un entorno web para el desarrollo del flujo de trabajo de SQL, la conexión con GitHub, GitLab, Bitbucket y Azure DevOps Services, la integración continua, la implementación continua y la ejecución del flujo de trabajo.

Dataform en Google Cloud se diferencia de Dataform heredado en los siguientes aspectos:

  • Dataform en Google Cloud admite la conexión de repositorios de Dataform a repositorios de Bitbucket.
  • El control de acceso se basa en IAM.
  • Se quitó la configuración de un límite de simultaneidad de consultas (concurrentQueryLimit) en dataform.json.

    En Dataform heredado, los límites de simultaneidad impidieron que esta enviara demasiadas consultas simultáneas a BigQuery. Para administrar la simultaneidad en Dataform en Google Cloud, recomendamos habilitar las colas de consultas de BigQuery.

  • Los entornos heredados se reemplazan por configuraciones de lanzamiento.

  • Los programas heredados se reemplazan por configuraciones del flujo de trabajo.

  • Las alertas de fallas en el flujo de trabajo se configuran en Cloud Logging.

  • Dataform en Google Cloud y Dataform heredado usan diferentes versiones de NPM y diferentes formatos de package-lock.json.

    Si quieres desarrollar un flujo de trabajo de SQL en Dataform heredado y Dataform en Google Cloud, usa el formato heredado package-lock.json para la instalación de paquetes. No instales paquetes en Dataform en Google Cloud hasta que migres por completo a Dataform en Google Cloud.

Para obtener más información sobre las funciones de Dataform en Google Cloud, consulta la Descripción general de las funciones de Dataform.

Por el momento, las funciones heredadas de Dataform no son compatibles con Google Cloud

Por el momento, las siguientes funciones de Dataform heredado no son compatibles con Dataform en Google Cloud:

  • Ejecución manual de pruebas de unidades
  • Buscar contenido de archivos en lugares de trabajo de desarrollo

    .

Esta lista se actualizará de forma continua a medida que se lancen nuevas funciones de Dataform en Google Cloud.

Limitaciones conocidas

Dataform en Google Cloud tiene las siguientes limitaciones conocidas:

  • Dataform en Google Cloud se ejecuta en un entorno de ejecución V8 simple y no es compatible con funciones ni módulos adicionales que proporciona Node.js. Si tu base de código existente requiere algún módulo de Node.js, debes quitar estas dependencias.

    Los proyectos sin un campo de nombre en package.json generan diferencias en package-lock.json cada vez que se instalan paquetes. Para evitar esto, debes agregar una propiedad name en package.json.

  • No se admiten las URLs git y https:// para dependencias en package.json.

    Convierte estas URLs en URL de archivo https:// sin formato. Por ejemplo, convierte git+https://github.com/dataform-co/dataform-segment.git#1.5 en https://github.com/dataform-co/dataform-segment/archive/1.5.tar.gz.

Antes de comenzar

  1. Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  3. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  4. Habilita las API de BigQuery and Dataform.

    Habilita las API

  5. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  6. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  7. Habilita las API de BigQuery and Dataform.

    Habilita las API

Funciones obligatorias

Si quieres obtener los permisos que necesitas para importar un proyecto heredado, 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.

Cómo importar un proyecto heredado

Para importar un proyecto heredado en Dataform en Google Cloud, sigue estos pasos en la consola de Google Cloud:

  1. Asegúrate de que tu proyecto de Dataform en app.dataform.co esté conectado a GitHub o GitLab.
  2. En la consola de Google Cloud, ve a la página Dataform.

    Ir a la página de Dataform

  3. Crea un repositorio nuevo.

  4. Conecta el repositorio al repositorio remoto de Git que aloja tu proyecto heredado.

Configura el proyecto importado de Dataform

Para ajustar tu proyecto heredado a Dataform en Google Cloud, sigue estos pasos:

  1. En la consola de Google Cloud, ve a la página Dataform.

    Ir a la página de Dataform

  2. Selecciona tu repositorio.

  3. Crea un lugar de trabajo de desarrollo.

  4. Ve al lugar de trabajo de desarrollo.

  5. En dataform.json, agrega el parámetro defaultLocation. app.dataform.co ignora este parámetro.

    "defaultLocation": "DATASET_LOCATION",
    

    Reemplaza DATASET_LOCATION por la ubicación predeterminada de tu conjunto de datos de BigQuery, por ejemplo, US, EU o us-east1.

  6. Borrar package-lock.json.

  7. En package.json, haz lo siguiente:

    1. Actualiza @dataform/core a 3.0.0-beta.2 o una versión posterior.
    2. Agrega un nombre de paquete en el siguiente formato:

      {
          "name": "PACKAGE_NAME",
          "dependencies": {
              "@dataform/core": "^3.0.0-beta.2"
          }
      }
      

      Reemplaza PACKAGE_NAME por un nombre para tu paquete de Dataform, por ejemplo, el nombre de tu proyecto.

    3. Convierte las URLs git+https:// en dependencias package.json en URLs de archivo https:// sin formato.

      Por ejemplo, convierte git+https://github.com/dataform-co/dataform-segment.git#1.5 en https://github.com/dataform-co/dataform-segment/archive/1.5.tar.gz.

      Si usas URLs de git+https:// en paquetes de Dataform compilados previamente, consulta las instrucciones de instalación actualizadas para estos paquetes en sus páginas de versiones, por ejemplo, la página de versiones de dataform-segment.

  8. Configura los permisos de BigQuery y los permisos del usuario.

  9. Migra entornos de environments.json a parámetros de configuración de lanzamiento.

  10. Migra los programas de environments.json a los parámetros de configuración del flujo de trabajo.

  11. Configura alertas con Cloud Logging.

¿Qué sigue?