O coração da estrutura original era seu esquema de metadados, armazenado no banco de dados do Azure SQL, o que permitiu a configuração dinâmica dos trabalhos ETL. Para incorporar a IA, estendi esse esquema para orquestrar tarefas de aprendizado de máquina juntamente com a integração de dados, criando um pipeline unificado que lida com ambos. Isso exigiu adicionar várias novas tabelas ao repositório de metadados:

  • Ml_models: Esta tabela captura detalhes sobre cada modelo ML, incluindo seu tipo (por exemplo, regressão, clustering), conjuntos de dados de treinamento e terminais de inferência. Por exemplo, um modelo de previsão pode fazer referência a um notebook específico de Databricks e uma tabela Delta contendo dados de vendas históricas.
  • Festere_engineering: Define etapas de pré-processamento, como escala de recursos numéricos ou variáveis categóricas de codificação única. Ao codificar essas transformações em metadados, a estrutura automatiza a preparação de dados para diversos modelos de ML.
  • Pipeline_dependências: Garante que as tarefas sejam executadas na sequência correta, ou seja, ETL antes da inferência, armazenamento após inferência, mantendo a integridade do fluxo de trabalho nos estágios.
  • Output_storage: Especifica destinos para resultados de inferência, como tabelas Delta para análise ou SQL do Azure para relatórios, garantindo que as saídas sejam facilmente acessíveis.

Considere este exemplo de metadados para um trabalho que combina a inferência ETL e ML:

{
  "job_id": 101,
  "stages": (
    {
      "id": 1,
      "type": "ETL",
      "source": "SQL Server",
      "destination": "ADLS Gen2",
      "object": "customer_transactions"
    },
    {
      "id": 2,
      "type": "Inference",
      "source": "ADLS Gen2",
      "script": "predict_churn.py",
      "output": "Delta Table"
    },
    {
      "id": 3,
      "type": "Storage",
      "source": "Delta Table",
      "destination": "Azure SQL",
      "table": "churn_predictions"
    }
  )
} 

Esse esquema permite que o ADF gerencie um pipeline que extrai dados de transações, executa um modelo de previsão de rotatividade em bancos de dados e armazena os resultados, todos acionados por metadados. Os benefícios são duplos: elimina a necessidade de codificação sob medida para cada caso de uso de IA e permite que o sistema se adapte a novos modelos ou conjuntos de dados, simplesmente atualizando os metadados. Essa flexibilidade é crucial para as empresas que visam escalar iniciativas de IA sem incorrer em dívida técnica significativa.