Med ökande datavolymer, datakällor och datavariationer i ett företag blir det avgörande att använda relevant dataanalys, maskininlärning och datavetenskapliga initiativ för att generera meningsfulla affärsinsikter. Det stora behovet av att prioritera dessa initiativ sätter ökande press på dataingenjörer att bearbeta rådata till rena och tillförlitliga data innan de genomför dessa initiativ. Extrahera, transformera och ladda (ETL) används av dataingenjörsteam för att extrahera data från olika källor, omvandla den till en tillförlitlig och oanvändbar resurs och sedan ladda den i systemen. Denna process görs för att ge slutanvändare enkel åtkomst och göra det möjligt för dem att optimera insikterna senare för att hantera affärsutmaningar.
Det primära steget i processen är datautvinning från målkällorna, vilka i allmänhet är heterogena och inkluderar affärssystem, sensordata, marknadsföringsverktyg, transaktionsdatabaser, API:er och andra. Medan vissa av dessa datatyper sannolikt är semistrukturerade JSON-serverloggar, är andra sannolikt strukturerade utdata från vanligt förekommande system. Datautvinning kan utföras på en mängd olika sätt: Tre tekniker för datautvinning inkluderar:
- Delvis extraktion: Om källsystemet varnar dig när en post har ändrats är det det enklaste sättet att hämta informationen.
- Delvis extraktion (med uppdateringsmeddelande): Alla system kan inte skicka ut meddelanden när en uppdatering sker, men de kan fortfarande identifiera de poster som har ändrats och skicka ut ett utdrag av dessa poster.
- Fullständigt extrakt – Vissa system kan inte avgöra vilka data som har ändrats. I den här situationen är det enda sättet att hämta data från systemet genom ett fullständigt extrakt. Det föregående extraktet måste dupliceras och ha samma format för att den här metoden ska vara effektiv så att du kan identifiera de ändringar som gjorts.
Det andra steget innebär att konvertera oformaterad rådata som har genererats från olika källor till en form som kan nås av olika applikationer. För att tillgodose ett företags operativa krav rensas, mappas och transformeras data under detta steg, ofta till ett visst schema. Denna procedur involverar många typer av transformationer för att säkerställa datanoggrannhet och tillförlitlighet. Data placeras ofta i en mellanliggande databas snarare än att laddas direkt till måldatakällan. Denna process garanterar en snabb återställning i ett enstaka fall om saker och ting inte går som planerat. Du har möjlighet att skapa revisionsrapporter för regelefterlevnad eller identifiera och åtgärda eventuella dataproblem i denna fas.
Processen att skriva konverterad data från ett mellanlagringsområde till en måldatabas – som kanske inte har funnits tidigare – kallas laddningsfunktionen. Denna procedur kan vara relativt enkel eller extremt komplicerad beroende på applikationskrav. ETL-verktyg kan användas effektivt för att slutföra var och en av dessa processer och få gynnsamma affärsresultat.
En ETL-pipeline, även känd som datapipeline, hänvisar till den mekanism genom vilken ETL-processer och aktiviteter sker. Datapipelines är en samling verktyg och procedurer för att överföra data från ett system med sin egen metod för databehandling och lagring till ett annat system där det kan hanteras och lagras på ett annat sätt. Dessutom gör pipelines det möjligt att automatiskt samla in data från olika källor, modifiera den och sedan sammanfoga den till en enda, mycket effektiv datalagring.