Passa al contenuto principale

Alchemist: da Brickbuilder a un'app del Databricks Marketplace

Automatizza la tua migrazione da SAS a Databricks

Alchemist SAS to Databricks Migrations

Published: January 21, 2026

Sanità e bioscienze12 min read

Summary

  • Alchemist è un acceleratore di migrazione completo da SAS a Databricks che combina una profonda esperienza legacy con le moderne funzionalità di AI.
  • La soluzione funziona sia come Analyzer, fornendo insight dettagliati sulla complessità e le dipendenze del codice, sia come Transpiler, che utilizza i Large Language Model (LLM) per ottenere una conversione del codice prossima al 100% da formati come SAS EG e .spk a PySpark.
  • Alchemist garantisce che le aziende non solo modernizzino il loro codice, ma possano anche trasferire con successo i loro processi aziendali e i team sulla piattaforma Databricks in modo rapido.

Da quasi sei anni, T1A collabora con Databricks su progetti di migrazione end-to-end da SAS a Databricks per aiutare le aziende a modernizzare la loro piattaforma dati. In qualità di ex SAS Platinum Partner, possediamo una profonda conoscenza dei punti di forza, delle peculiarità e dei problemi nascosti della piattaforma che derivano dal comportamento unico del motore SAS. Oggi, questa competenza consolidata è integrata da un team di Databricks Champions e da una practice dedicata all'Ingegneria dei dati, offrendoci la rara capacità di parlare fluentemente sia "SAS" che "Spark".

All'inizio del nostro percorso, abbiamo osservato uno schema ricorrente: le organizzazioni volevano abbandonare SAS per svariati motivi, ma ogni percorso di migrazione sembrava difficoltoso, rischioso o entrambe le cose. Abbiamo analizzato il mercato, testato diverse opzioni di tooling e siamo giunti alla conclusione che la maggior parte delle soluzioni era poco potente e trattava la migrazione da SAS come poco più di un "cambio di dialetti SQL". Questa lacuna ci ha spinti a creare il nostro transpiler e Alchemist è stato rilasciato per la prima volta nel 2022.

Alchemist è un potente strumento che automatizza la vostra migrazione da SAS a Databricks

Alchemist è un potente strumento che automatizza la migrazione da SAS a Databricks: 

  • Analizza SAS ed esegue il parsing del tuo codice per fornire informazioni dettagliate a ogni livello, colmando le lacune lasciate dai profiler di base e offrendoti una chiara comprensione del tuo carico di lavoro
  • Converte il codice SAS in Databricks utilizzando le best practice progettate dai nostri architetti e campioni di Databricks, fornendo un codice pulito e leggibile senza inutili complessità
  • Supporta tutti i formati più comuni, inclusi codice SAS (file .sas), file di progetto SAS EGjob SAS DI in formato .spk, estraendo sia il codice che i metadati di valore
  • Fornisce risultati flessibili e configurabili con funzioni di template personalizzate per soddisfare anche i requisiti architetturali più rigorosi.
  • Integra le funzionalità AI LLM per strutture di codice atipiche, raggiungendo un tasso di conversione del 100% su ogni file.
  • Si integra facilmente con framework o pipeline CI/CD per automatizzare l'intero flusso di migrazione, dall'analisi alla convalida finale e al deployment

Alchemist, insieme a tutti i nostri strumenti, non è più solo un acceleratore di migrazione; è il motore principale e il driver di migrazione dei nostri progetti.

Quindi, che cos'è Alchemist nel dettaglio?

Analizzatore Alchemist 

Innanzitutto, Alchemist non è solo un transpiler, ma un potente strumento di valutazione e analisi. L'analizzatore Alchemist analizza ed esamina rapidamente qualsiasi batch di codice, producendo un profilo completo delle caratteristiche del codice SAS. Invece di impiegare settimane per la revisione manuale, i clienti possono ottenere un quadro completo dei pattern e della complessità del codice in pochi minuti.

La dashboard di analisi è gratuita e ora disponibile in due modalità:

Questa analisi fornisce un approfondimento sulle dimensioni dell'ambito di migrazione, evidenzia elementi unici, rileva le integrazioni e aiuta a valutare le preferenze del team per diversi pattern programmatici. Inoltre, classifica i tipi di workload, ci aiuta a prevedere i tassi di conversione dell'automazione e stima l'impegno necessario per la convalida della qualità dei risultati.

Più di una semplice panoramica generale, Alchemist Analyzer offre una visualizzazione dettagliata in formato tabella (che chiamiamo DDS) che mostra come vengono utilizzate le procedure e le opzioni, la provenienza dei dati e come i componenti del codice dipendono l'uno dall'altro. 

Questo livello di dettaglio aiuta a rispondere a domande come:

  • Quale caso d'uso dovremmo selezionare per l'MVP per dimostrare rapidamente i miglioramenti?
  • Come dovremmo dare priorità alla migrazione del codice? Ad esempio, migrare prima i dati utilizzati di frequente o dare la precedenza ai producer di dati critici?
  • Se effettuiamo il refactoring di una macro specifica o modifichiamo una struttura sorgente, quali altri segmenti di codice saranno interessati?
  • Per liberare spazio su disco o per smettere di usare un costoso componente SAS, quali azioni dovremmo intraprendere per prime?

Poiché l'Analyzer espone ogni dipendenza, flusso di controllo e punto di contatto dei dati, ci fornisce una comprensione reale del codice, consentendoci di fare molto di più della conversione automatizzata. Siamo in grado di individuare con precisione dove convalidare i risultati, suddividere i monoliti in blocchi di migrazione significativi, far emergere modelli ripetibili e ottimizzare i test end-to-end: funzionalità che abbiamo già utilizzato in diversi progetti per i clienti.

Transpiler Alchemist

Iniziamo con una breve panoramica delle funzionalità di Alchemist:

  • Sorgenti: progetti SAS EG (.egp), codice base SAS (.sas), SAS DI Jobs (.spk)
  • Target: notebook Databricks, codice Python PySpark, pipeline Prophecy, ecc.
  • Copertura: Copertura e accuratezza quasi del 100% per SQL, procedure e trasformazioni comuni, data step e codice macro.
  • Post-conversione con LLM: identifica le istruzioni problematiche e le modifica utilizzando un LLM per migliorare il codice finale.
  • Template: Funzionalità per ridefinire il comportamento del convertitore al fine di soddisfare le esigenze di refactoring o le visioni dell'architettura di destinazione.

Il transpiler Alchemist funziona in tre passaggi:

  1. Analisi del codice: il codice viene analizzato in un Albero di Sintassi Astratta (AST) dettagliato, che ne descrive completamente la logica.
  2. Ricostruzione del codice: A seconda del dialetto di destinazione, viene applicata una regola specifica a ogni nodo AST per ricostruire la trasformazione nel motore di destinazione, passo dopo passo, di nuovo in codice.
  3. Analizza il risultato e perfeziona: Il risultato viene analizzato. Se alcune istruzioni riscontrano errori, possono essere convertite utilizzando un LLM. Questo processo include la fornitura dell'istruzione originale insieme a tutti i metadati pertinenti sulle tabelle utilizzate, il contesto di calcolo e i requisiti del codice.

Tutto ciò sembra promettente, ma come si traduce in uno scenario di migrazione reale? 

Condividiamo alcune metriche di una recente migrazione multi-business-unit in cui abbiamo spostato centinaia di flussi SAS Enterprise Guide su Databricks. Questi flussi gestivano il reporting quotidiano e il consolidamento dei dati, eseguivano controlli aziendali di routine ed erano gestiti in gran parte da team di analitiche. Gli input tipici includevano file di testo, cartelle di lavoro XLSX e varie tabelle RDBMS; gli output andavano da estratti Excel/CSV e avvisi e-mail a riepiloghi parametrizzati su schermo. La migrazione è stata eseguita con Alchemist v2024.2 (una versione precedente a quella ora disponibile), quindi gli utenti di oggi possono aspettarsi tassi di automazione ancora più elevati e una qualità dei risultati superiore.

Per darvi qualche numero, abbiamo misurato le statistiche per una parte di 30 flussi EG casuali migrati con Alchemist.

Dobbiamo iniziare con un breve disclaimer:

  1. Quando si parla di tasso di conversione, ci si riferisce alla percentuale del codice originale che è stata trasformata automaticamente in codice eseguibile in Databricks. Tuttavia, l'accuratezza effettiva di questa conversione può essere determinata solo dopo aver eseguito test sui dati e convalidato i risultati.
  2. Le metriche sono state raccolte utilizzando una versione precedente di Alchemist e con Template, configurazioni aggiuntive e utilizzo di LLM disattivati. 

Quindi, abbiamo ottenuto un tasso di conversione di quasi il 75% con una precisione di quasi il 90% (il 90% dei passaggi del flusso ha superato la convalida senza modifiche):

Stato della conversione

%

Flussi 

Note

Convertito in modo completamente automatico con il 100% di accuratezza

33%

10

Senza alcun problema

Convertito completamente, con discrepanze nei dati durante la convalida

30%

9

Durante la validazione dei dati dei risultati sono state riscontrate piccole discrepanze.

Convertito parzialmente

15%

5

Alcuni passaggi non sono stati convertiti, meno del 20% dei passaggi di ogni flusso

Problemi di conversione

22%

6

Problemi di preparazione (ad es., mappatura errata, campione della sorgente di dati errato, file EG originale corrotto o non eseguibile) e tipi di istruzioni rari

Con l'ultima versione di Alchemist, dotata di conversione basata sull'AI, abbiamo raggiunto un tasso di conversione del 100%. Tuttavia, i risultati forniti dall'IA presentavano ancora lo stesso problema di scarsa accuratezza. Questo rende la validazione dei dati la prossima "tana del coniglio" per la migrazione.

A proposito, vale la pena sottolineare che una preparazione accurata del codice, della mappatura degli oggetti e di altre configurazioni è fondamentale per il successo delle migrazioni. Codice corrotto, mappatura dei dati errata, problemi con la migrazione della sorgente di dati, codice obsoleto e altri problemi legati alla preparazione sono in genere difficili da identificare e isolare, ma influiscono in modo significativo sulle tempistiche della migrazione.

Flusso di lavoro per la convalida dei dati e approccio agentico

Con la conversione del codice automatizzata e basata sull'IA ormai prossima al "one-click", il vero collo di bottiglia si è spostato sulla convalida di business e sull'accettazione utente. Nella maggior parte dei casi, questa fase occupa il 60-70% della timeline complessiva della migrazione e costituisce la maggior parte del rischio e del costo del progetto. Nel corso degli anni, abbiamo sperimentato molteplici tecniche di convalida, framework e strumenti per abbreviare la "fase di convalida" senza perdere qualità.

Le sfide di business tipiche che affrontiamo con i nostri clienti sono:

  • Quanti test sono necessari per garantire la qualità senza espandere l'ambito del progetto?
  • Come ottenere l'isolamento dei test in modo che misurino solo la qualità della conversione, pur rimanendo ripetibili e deterministici? Confronto “alla pari”.
  • Automazione dell'intero ciclo: preparazione dei test, esecuzione, analisi dei risultati e correzioni
  • Individuare il passaggio, la tabella o la funzione esatta che causa una discrepanza, consentendo agli ingegneri di risolvere i problemi in modo definitivo e andare avanti.

Abbiamo optato per questa configurazione: 

  • Generazione automatica dei test basata su campioni di dati reali raccolti automaticamente in SAS
  • Test isolato in 4 fasi:
    • Test unitari - test isolato di ogni istruzione convertita
    • Test E2E - test completo della pipeline o del notebook, utilizzando dati copiati da SAS
    • Convalida della fonte reale - test completo sull'ambiente di test utilizzando le fonti di destinazione
    • Test di tipo produttivo - un test completo su un ambiente simile a quello di produzione utilizzando fonti reali per misurare le prestazioni, convalidare il deployment, raccogliere metriche statistiche sui risultati ed eseguire diversi scenari di utilizzo
  • “Vibe testing” - Gli agenti AI hanno ottenuto buoni risultati nella correzione e nell'adattamento di unit test e test E2E. Ciò è dovuto al loro contesto limitato, ai risultati di convalida rapidi e all'iterabilità attraverso il campionamento dei dati. Tuttavia, gli agenti si sono rivelati meno utili nelle ultime due fasi, dove sono richieste una profonda competenza ed esperienza.
  • Report. I risultati devono essere consolidati in report chiari e riproducibili, pronti per una rapida revisione da parte dei principali stakeholder. Solitamente non hanno molto tempo per convalidare il codice migrato e sono disposti ad accettare e testare solo il caso d'uso completo.

Affianchiamo a questo processo framework, script e template per ottenere velocità e flessibilità. Non stiamo cercando di creare un prodotto "pronto all'uso" perché ogni migrazione è unica, con ambienti, requisiti e livelli di partecipazione del cliente diversi. Ma comunque, l'installazione e la configurazione dovrebbero essere veloci. 

La combinazione tra la sofisticatezza tecnica di Alchemist e la nostra metodologia collaudata ha costantemente fornito risultati misurabili: un tasso di automazione delle conversioni di quasi il 100%, riduzioni del 70% nei tempi di convalida e implementazione. 

Finalizzazione della migrazione

La vera misura di qualsiasi soluzione di migrazione non risiede nelle sue funzionalità, ma nel suo impatto reale sulle attività operative del cliente. In T1A, ci concentriamo su molto più del solo lato tecnico della migrazione. Sappiamo che la migrazione non è terminata quando il codice viene convertito e testato. La migrazione è completa quando tutti i processi aziendali vengono migrati e utilizzano i dati della nuova piattaforma, quando gli utenti aziendali hanno completato l'onboarding e quando stanno già sfruttando i vantaggi di lavorare in Databricks. Ecco perché non solo eseguiamo la migrazione, ma forniamo anche un supporto avanzato al progetto post-migrazione con i nostri specialisti per garantire un onboarding più fluido per il cliente, che include:

  • Monitoraggio personalizzato per la tua piattaforma dati
  • Workshop formativi personalizzabili e su misura per diversi tipi di pubblico
  • Supporta i team con livelli di coinvolgimento flessibili per rispondere alle richieste degli utenti tecnici e aziendali
  • Workshop di condivisione delle best practice
  • Assistenza nella creazione di un centro di competenza all'interno della tua azienda.

Tutte queste soluzioni, che includono l'analisi completa del codice, la traspilazione automatizzata, i framework di convalida basati sull'IA e il supporto post-migrazione, sono state collaudate sul campo in numerose migrazioni aziendali. E siamo pronti a condividere la nostra competenza con voi. 

I nostri casi di successo

Quindi, è il momento di riepilogare. Negli ultimi anni abbiamo applicato questo approccio integrato in diverse organizzazioni sanitarie e assicurative, ognuna con sfide uniche, requisiti normativi e carichi di lavoro business-critical.

Abbiamo imparato, sviluppato i nostri strumenti e migliorato il nostro approccio, e ora siamo qui per condividere con voi la nostra visione e la nostra metodologia. Qui potete vedere alcune delle referenze dei nostri progetti e siamo pronti a condividerne altre su richiesta. 

Cliente

Date

Descrizioni dei progetti

Primaria compagnia di assicurazione sanitaria, Benelux

2022 - oggi

Migrazione di un EDWH a livello aziendale da SAS a Databricks tramite Alchemist. Introduzione di un approccio alla migrazione con un tasso di automazione dell'80% per le attività ripetitive (1600 Job ETL). Progettazione e implementazione di un'infrastruttura di migrazione, consentendo ai processi di conversione e migrazione di coesistere con le attività operative aziendali in corso. Il nostro framework di test automatizzato ha ridotto i tempi di UAT del 70%.

Compagnia di assicurazione sanitaria, USA

2023

Migrazione del reporting analitico da SAS EG on-premise ad Azure Databricks tramite Alchemist. T1A ha sfruttato Alchemist per accelerare l'analisi, la migrazione del codice e i test interni. T1A ha fornito servizi di consulenza per la configurazione di servizi Azure selezionati per Databricks abilitato a Unity Catalog, abilitando e addestrando gli utenti sulla piattaforma di destinazione e ottimizzando il processo di migrazione per garantire una transizione fluida per gli utenti finali.

Azienda sanitaria, Giappone

2023 - 2025

Migrazione del reporting analitico da SAS EG on-premise ad Azure Databricks. T1A ha sfruttato Alchemist per accelerare l'analisi, la migrazione del codice e i test interni. Il nostro lavoro ha incluso la configurazione di un Data Mart, la progettazione dell'architettura e l'abilitazione delle funzionalità cloud, oltre alla creazione di più di 150 pipeline per i feed di dati a supporto del reporting. Abbiamo fornito servizi di consulenza per la configurazione dei servizi Azure selezionati per Databricks abilitato per Unity Catalog e offerto abilitazione e addestramento agli utenti sulla piattaforma di destinazione. 

PacificSource Health Plans, USA

2024 - In corso

Modernizzazione dell'infrastruttura di analitiche legacy del cliente migrando i flussi di lavoro ETL parametrizzati basati su SAS (70 script) e il SAS Analytical Data Mart a Databricks. Ha ridotto il tempo di refresh del Data Mart del 95%, ampliato l'accesso al talent pool utilizzando il linguaggio di codice standard PySpark, abilitato l'assistenza GenAI e il vibe coding, migliorato Git&CI/CD per aumentare l'affidabilità, ridotto in modo significativo l'impronta SAS e generato risparmi sulle licenze SAS. 

Quindi, quali sono i prossimi passi?

Abbiamo appena iniziato ad adottare un approccio agentico, tuttavia ne riconosciamo il potenziale per automatizzare le attività di routine. Questo include preparare configurazioni e mappature, generare dati di test personalizzati per raggiungere la piena copertura del codice e creare automaticamente template per soddisfare le regole architetturali, tra le altre cose.

D'altra parte, vediamo che le attuali capacità dell'AI non sono ancora abbastanza mature per gestire determinati compiti e scenari molto complessi. Pertanto, prevediamo che il percorso più efficace per il futuro si trovi all'intersezione tra AI e metodologie programmatiche.

Partecipa al nostro prossimo webinar - "Best practice per la migrazione SAS: lezioni da oltre 20 progetti aziendali"

Condivideremo in dettaglio ciò che abbiamo imparato, i passi successivi e le best practice per la migrazione completa a Databricks. Oppure, guarda la demo del nostro approccio alla migrazione → e molti altri materiali sulla migrazione sul nostro canale.

Pronti ad accelerare la vostra migrazione SAS?

Start senza rischi: ottieni la tua valutazione gratuita oggi stesso

Analizza il tuo ambiente SAS in pochi minuti →

Upload il tuo codice SAS per un'analisi istantanea e completa. Scopri la complessità della migrazione, identifica i vantaggi immediati e ottieni stime di dimensionamento automatizzate, in modo completamente gratuito e senza necessità di registrazione.

Fai il passo successivo

Per le organizzazioni pronte per la migrazione ([email protected]):

  • Prenota una consulenza strategica - sessione di 45 minuti per esaminare i risultati della tua analisi e definire una roadmap di migrazione personalizzata

  • Richiedi un Proof of Concept - Convalida il nostro approccio con una migrazione pilota dei tuoi flussi di lavoro più critici

Per la pianificazione in fase iniziale:

  • Download la checklist di preparazione alla migrazione  Guida di autovalutazione per valutare il livello di preparazione della tua organizzazione

 

(Questo post sul blog è stato tradotto utilizzando strumenti basati sull'intelligenza artificiale) Post originale

Non perdere mai un post di Databricks

Iscriviti al nostro blog e ricevi gli ultimi post direttamente nella tua casella di posta elettronica.

Cosa succederà adesso?

Cracking Complex Contracts with GenAI on Azure Databricks

Saúde e ciências da vida

August 27, 2025/6 min de leitura

Desvendando Contratos Complexos com GenAI no Azure Databricks

De-identifying Medical Images Cost-Effectively with Vision Language Models on Databricks

Saúde e ciências da vida

November 4, 2025/6 min de leitura

Desidentificando imagens médicas com bom custo-benefício com modelos de linguagem de visão no Databricks