Streamlit i datamigrering – snabb datavisualisering med parquet, gratis och open source
Av Isak La Fleur EngdahlEn stor del av en migrering handlar om att titta på datan. Hur många poster har vi per dataobjekt? Hur fördelar sig volymerna per månad och grupp? Stämmer summorna mellan käll- och målsystem? Vilka poster faller ut i kvalitetskontrollerna? De frågorna dyker upp dag efter dag – och svaren behöver vara snabba, visuella och lätta att dela med verksamheten.
Mitt favoritverktyg för precis det är Streamlit.
Vad är Streamlit?
Streamlit är ett open source-ramverk i Python som gör om ett vanligt skript till en interaktiv webbapp. Inget HTML, CSS eller JavaScript – jag skriver Python, och Streamlit renderar tabeller, diagram, filter och nyckeltal i webbläsaren. Det är gratis, och eftersom jag ändå bygger min ETL i Python med pandas blir det samma språk hela vägen, från extrakt till visualisering.
Och parquet?
Migreringsextrakt landar ofta som parquet-filer. Parquet är ett kolumnbaserat, komprimerat filformat för stora datamängder. Till skillnad från CSV lagras data per kolumn i stället för per rad – vilket gör att man snabbt kan läsa bara de fält man behöver, och att filerna blir betydligt mindre. Med en modern komprimeringsalgoritm som Metas zstd tar en parquet-fil ofta bara omkring en tiondel av utrymmet jämfört med en motsvarande CSV-fil. Formatet är språkoberoende och läses direkt av pandas:
import pandas as pd
df = pd.read_parquet("purchase_order_lines.parquet")
En enda rad, och hela extraktet ligger i minnet redo att profileras, grupperas och visualiseras. Parquet + pandas + Streamlit är en kombination som är svår att slå när man snabbt vill förstå ett okänt dataset.
Hur jag använder det i en migrering
Jag bygger oftast en sida per dataobjekt – inköpsorder, transferorder, kunder, leverantörer, försäljningsorder och så vidare. På varje sida:
- Volymer – antal poster per månad, per grupp, per land. Avslöjar luckor och avvikelser direkt.
- Nyckeltal – täckningsgrad mot målsystemet, andel i utländsk valuta, summor i en gemensam valuta.
- Avstämning – käll mot mål, så att man ser att inget tappas på vägen.
- Datakvalitet – poster som bryter mot reglerna, redo att granskas av verksamheten.
Det fina är att det är interaktivt och självbetjänande. I stället för att skicka statiska Excel-rapporter fram och tillbaka kan nyckelpersoner i verksamheten själva klicka runt, filtrera och borra ner – vilket gör test- och valideringsstegen (steg 6 och 7 i min metod) betydligt smidigare.
När man växer ur det
Streamlit ersätter inte en produktionsdataplattform. Hos min senaste kund implementerade vi Microsoft Fabric för analys och rapportering i stor skala. Men det är just därför Streamlit är så värdefullt: för att komma igång snabbt och billigt – profilera extrakt, visualisera volymer och bygga förtroende för datan redan innan en tung plattform är på plats – är det svårslaget. Och även med Fabric på plats fortsätter jag använda Streamlit för snabb, ad hoc-analys under migreringens gång.
Sammanfattning
Om du står inför en migrering och vill kunna se din data utan att först bygga en hel BI-stack: lägg dina extrakt som parquet, läs in dem med pandas och bygg en enkel Streamlit-app. Det är gratis, open source och förvånansvärt kompetent.
Vill du veta hur jag sätter upp det i praktiken? Hör av dig – jag delar gärna med mig.