Convierte scripts SQL y pipelines ETL con Genie Migrate

Genie Migrate utiliza Genie Code para convertir SQL existente de dialectos como T-SQL, Snowflake, Redshift, Oracle, BigQuery y Teradata en código que se ejecuta en Azure Databricks. También convierte cargas de trabajo extract, transform y load (ETL) de Informatica PowerCenter (Beta) en notebooks Databricks. Organizas tu trabajo en un proyecto de migración y eliges un framework objetivo para el resultado: consultas SQL de Databricks o notebooks de Databricks (Beta) que usan la API de DataFrame. Genie Migrate analiza cada script fuente, valida la salida convertida y corrige iterativamente los errores antes de escribir los resultados en una carpeta de espacio de trabajo.

Genie Migrate forma parte de la herramienta Databricks para migrar cargas de trabajo desde almacenes de datos existentes y herramientas ETL a Azure Databricks. Convierte tus scripts SQL y pipelines ETL mientras organizas y haces seguimiento del trabajo en un proyecto de migración.

Cómo funciona

Para iniciar una conversión, cree un proyecto de migración en el área de trabajo. El proyecto realiza un seguimiento del estado de cada archivo y proporciona un único lugar para administrar la migración.

Diagrama del flujo de trabajo de conversión: los dialectos de origen van a Genie Migrate, que convierte cada archivo, comprueba su sintaxis e intención semántica, y lo revisa hasta que supera las comprobaciones. Las habilidades personalizadas se introducen y los archivos convertidos van a un proyecto de migración.

Cuando ejecutas una conversión, Genie Code despliega subagentes que convierten archivos simultáneamente. Cada subagente analiza el dialecto fuente y genera el código equivalente para el framework objetivo del proyecto (Databricks SQL o un cuaderno de Databricks). Luego comprueba el código convertido:

  • Sintaxis: Comprueba que el código convertido se ejecute en Azure Databricks sin errores.
  • Intención semántica: Comprueba que el código convertido mantenga la lógica de negocio del código fuente, como las mismas uniones y WHERE cláusulas.

Cuando una comprobación falla, el subagente revisa el código y lo comprueba de nuevo. Genie Code también aplica tus habilidades personalizadas cuando convierte archivos. Consulta Crear una habilidad personalizada (opcional). Los archivos convertidos se escriben directamente en la carpeta del área de trabajo que especifique para el proyecto.

También puede convertir un único archivo o carpeta sin un proyecto mediante el /migrate comando en una conversación de Genie Code.

Requirements

  • Tus archivos SQL o XML existentes deben estar accesibles en tu espacio de trabajo, ya sea subidos como archivos de espacio de trabajo o abiertos en el editor.
  • El área de trabajo debe cumplir los requisitos de Genie Code. Consulte Código de Genie.
  • Para utilizar el marco de destino de Notebooks, el análisis de proyectos y la línea de datos, o la conversión de Informatica PowerCenter, que están en Beta, un administrador de espacio debe activar las Funciones Experimentales de Proyectos de Migración desde la página de Previsualizaciones. Consulte Administrar versiones preliminares de Azure Databricks.

Fuentes compatibles

El convertidor soporta los siguientes dialectos SQL:

  • T-SQL
  • Snowflake SQL
  • SQL de Redshift
  • Oracle
  • BigQuery
  • Teradata

Cuando crees un proyecto de migración para un dialecto SQL, elige uno de los siguientes frameworks objetivo:

  • DBSQL: consultas SQL de Databricks compatibles con ANSI.
  • Cuadernos (versión beta): cuadernos de Databricks que usan la API DataFrame, con spark.sql para la lógica que es más clara en SQL.

Importante

La compatibilidad con orígenes de Informatica PowerCenter está en Beta. Para utilizarla, un administrador de espacio de trabajo debe activar Migration Projects Experimental Features desde la página Previews. Consulte Administrar versiones preliminares de Azure Databricks.

El convertidor también es compatible con Informatica PowerCenter como fuente ETL.

No se soportan Informatica Intelligent Administración de datos Cloud (IDMC) e Informatica Intelligent Cloud Services (IICS). Genie Migrate convierte los objetos en una exportación de Informatica, como flujos de trabajo y mapeos, en cuadernos Databricks, por lo que los proyectos de Informatica siempre utilizan el framework objetivo de Notebooks.

Para preparar los flujos de trabajo de Informatica para la conversión, expórtalos desde PowerCenter Repository Manager en el formato XML de PowerMart. Exporta a nivel de flujo de trabajo e incluye objetos dependientes, como mapeos, sesiones, maplets y worklets. No incluyas credenciales en la exportación.

Convierte tu código

Los siguientes pasos describen cómo convertir scripts SQL y pipelines ETL en un proyecto de migración.

Paso 1: Cargar archivos de origen

Sube tus archivos SQL existentes (.sql) o exportaciones ETL (.xml) usando el navegador de archivos de Workspace, o utiliza la CLI de Databricks para subir en masa un directorio de scripts.

Paso 2: Crear un proyecto de migración

Cree un proyecto de migración desde el área de trabajo:

  1. Haga clic en Nuevo icono>Proyecto de migración.
  2. Escriba un nombre para el proyecto.
  3. Use los selectores desplegables para elegir un dialecto de origen y un marco de destino. Para el framework Target, elige DBSQL para generar consultas SQL de Databricks, o Notebooks (Beta) para generar notebooks de Databricks. Si eliges Informatica como dialecto fuente, el framework objetivo se establece en Notebooks.
  4. Introduzca la ruta de acceso a la carpeta de destino. Haga clic en Examinar para elegir un destino de una lista de carpetas de área de trabajo disponibles.
  5. Haga clic en Crear.

Cuadro de diálogo nuevo proyecto de migración que muestra el nombre del proyecto, el dialecto de origen, el marco de destino y los campos de carpeta de destino.

Paso 3: Agregar archivos al proyecto

En el nuevo proyecto:

  1. Haga clic en Agregar archivos>+ Agregar archivos.
  2. Seleccione la carpeta de origen o un archivo del área de trabajo.

En los proyectos de Informatica, solo se añaden archivos .xml. Se saltan archivos de otros tipos.

La pestaña Archivos muestra cada archivo con su tipo, número de líneas y estado de conversión. Los proyectos de Informatica se abren en la pestaña Inventory, que muestra cada exportación con los objetos que contiene.

Lienzo del proyecto de migración que muestra los archivos de origen agregados con su tipo de archivo, recuento de líneas y estado de conversión.

Paso 4: Revisar la complejidad y el linaje del código (Beta)

Importante

Esta característica se encuentra en su versión beta. Para utilizarla, un administrador de espacio de trabajo debe activar Migration Projects Experimental Features desde la página Previews. Consulte Administrar versiones preliminares de Azure Databricks.

Analiza el proyecto para revisar la complejidad del código y las dependencias entre archivos antes de convertirlo. El análisis es opcional para proyectos SQL y obligatorio para proyectos de Informatica.

Para analizar un proyecto SQL:

  1. En el proyecto, haz clic en Analizar todo. Si el proyecto no tiene linaje, Analizar todo es la acción predeterminada. De lo contrario, selecciona Analizar todo en el menú desplegable del botón. El análisis cubre todos los archivos del proyecto, incluso si seleccionas archivos.
  2. Espera a que termine el análisis. Para cancelar un análisis en ejecución, haga clic en Stop. Cuando termina el análisis, el botón cambia a Convertir todo.
  3. Haz clic en un archivo fuente para abrir su evaluación de complejidad, y haz clic en Lineage para abrir un grafo de dependencias que muestra archivos y tablas interdependientes que debes migrar juntos.

Para analizar un proyecto de Informatica, haz clic en Analizar todo en la pestaña de Inventario . El análisis divide cada exportación en sus flujos de trabajo, worklets, mapeos y mapplets. Debes analizar una exportación antes de poder convertirla.

Paso 5: Ejecutar la conversión

En los proyectos de Informatica, seleccionas y conviertes los flujos de trabajo, mapeos y otros objetos que crea el análisis, no las exportaciones subidas .xml .

Para convertir archivos específicos, selecciónelos y haga clic en Convert selected. Para convertir todos los archivos del proyecto, borra la selección y haz clic en Convertir todo. Genie Code abre una conversación, invoca la aptitud de migración e implementa subagentes para convertir los archivos simultáneamente. Cada archivo convertido aparece como un archivo vinculado en el proyecto. Cada archivo muestra uno de los siguientes estados:

  • Gris: el archivo aún no se ha convertido (Not started, Queued o Stopped). Un spinner aparece mientras el archivo se convierte.
  • Verde sin relleno: el archivo se convirtió sin problemas (Converted).
  • Relleno verde: Revisaste y aceptaste el archivo convertido (Revisado).
  • Amarillo: El archivo se ha convertido, pero tiene acciones pendientes que necesitas revisar.
  • Rojo: La conversión falló (error).

Cada ejecución convierte hasta 500 archivos. Si pones en cola más de 500 archivos, los primeros 500 archivos sin convertir se procesan en el lote actual. Cuando termine el lote, comienza la conversión de nuevo para convertir los siguientes 500.

Paso 6: Revisar los resultados de la conversión

Para proyectos SQL de Databricks, haz clic en un archivo convertido para abrir una comparación en línea en el editor SQL, que muestra cada sección del código fuente por encima del SQL propuesto de Databricks que lo sustituye. Acepte todos los cambios sugeridos, o revise y acepte modificaciones individuales. Para los proyectos de Notebooks, haz clic en un archivo convertido para abrir el cuaderno Databricks generado. Para los scripts que no se pueden convertir, edite el código en el editor o pida a Genie Code que vuelva a validar o reintentar secciones específicas. Cuando estés satisfecho, ejecuta el SQL o el cuaderno convertido para confirmar que funciona en Azure Databricks. Si el mismo error aparece en varios archivos, captura la corrección en una skill personalizada y vuelve a ejecutar esos archivos. Consulta Crear una habilidad personalizada (opcional).

Para proyectos de Informatica, compara cada cuaderno de notas generado con la correspondiente asignación de PowerCenter. Revisa tablas de origen y destino, uniones, filtros y grupos de enrutadores, búsquedas, lógica de Estrategia de Actualización y parámetros. Antes de usar una tubería convertida en producción, ejecutala con datos no de producción y compara resultados como el recuento de filas y agregados de claves con la salida del flujo de trabajo de PowerCenter.

Creación de una aptitud personalizada (opcional)

Las aptitudes personalizadas le permiten codificar reglas de negocio que Genie Code se aplica automáticamente durante cada conversión. Úselos para controlar los tipos de datos propietarios, aplicar patrones de destino preferidos o capturar correcciones que realice repetidamente. Una aptitud de migración es una aptitud de Genie Code, por lo que puede crearla y administrarla de la misma manera que cualquier otra aptitud. Para obtener más información, consulte Amplía Genie Code con capacidades de agente.

No necesitas definir todas tus habilidades antes de tu primera conversión. La mayoría de las reglas que una habilidad debería captar solo quedan claras después de revisar los primeros resultados. Un flujo de trabajo típico es:

  1. Convierte un conjunto representativo de archivos.
  2. Revise los archivos con elementos de acción o errores, y busque errores que se repitan en varios archivos, como el mismo tipo de datos, la misma función o el mismo patrón de nomenclatura no admitidos.
  3. Crea una skill que capture la corrección de cada error recurrente.
  4. Selecciona solo los archivos afectados y haz clic en Convertir seleccionados. Genie Code aplica la nueva habilidad a esos archivos.

Repite este ciclo a medida que conviertas más de tu código. Genie Code aplica cada destreza a conversiones posteriores en el espacio de trabajo, así que una corrección cubre otros archivos con el mismo patrón.

Puede crear una aptitud a partir de la configuración de Genie Code o desde una conversación de Genie Code. Use la ruta de configuración para habilidades complejas que incluyan instrucciones detalladas, ejemplos o archivos de apoyo. Use la vía del chat para habilidades rápidas y de una sola regla.

Configuración de Genie Code

Crear el skill como un archivo para poder redactar instrucciones detalladas y versionarlo en una carpeta de Git:

  1. En el panel Genie Code, haga clic en Icono de engranaje.Configuración y, a continuación, haga clic en Flecha en el icono.Abra la carpeta skills.

  2. Cree una carpeta para su habilidad en la ruta de habilidades del espacio de trabajo, Workspace/.assistant/skills/. Por ejemplo: Workspace/.assistant/skills/sql-migration/.

  3. En la carpeta de skill, cree un archivo SKILL.md con el frontmatter requerido y sus reglas de conversión. Por ejemplo:

    ---
    name: sql-migration
    description: Conversion rules to apply when migrating legacy SQL to ANSI SQL.
    ---
    
    Always convert the custom type MYDATE to TIMESTAMP_NTZ.
    

Genie Code detecta la habilidad la próxima vez que se ejecute una conversión.

Chat de Genie Code

Describa la regla de conversión que desea codificar y, a continuación, pida a Genie Code que lo guarde:

Tip

Always convert our custom type MYDATE to TIMESTAMP_NTZ. Save this as a custom migration skill.

Genie Code crea y registra la habilidad y la utiliza en conversiones futuras en el área de trabajo.

Para ver las habilidades activas:

Tip

Show me my migration skills

Para eliminar una habilidad:

Tip

Delete the migration skill for [description]

Las aptitudes del área de trabajo se almacenan en el nivel de área de trabajo y se comparten entre todos los usuarios del área de trabajo.

Sugerencias para pruebas

Como parte de su bucle agente, el convertidor analiza cada script de origen, valida que la salida convertida es sintácticamente válida y semánticamente equivalente al origen y corrige de forma iterativa las secciones que producen errores antes de escribir los resultados. Las siguientes sugerencias le ayudarán a revisar y ganar confianza en el resultado:

  • Conversión por lotes: convierta un lote pequeño de dos a cinco archivos en una sesión para comprobar que la conversión de varios archivos funciona de un extremo a otro.
  • Validación de sintaxis: después de la conversión, ejecute la salida en un editor o cuaderno de SQL de Databricks para confirmar que se ejecuta sin errores.
  • Casos perimetrales: incluya un script con construcciones específicas del dialecto, como funciones de ventana de T-SQL, Snowflake QUALIFYo Redshift LISTAGG, para ver cómo el convertidor controla patrones no triviales.
  • Corrección semántica: ejecute las consultas originales y convertidas en datos de prueba equivalentes y compare los resultados. Confirme que la salida es semánticamente correcta, no solo válida sintácticamente.

Recursos adicionales