Ik bouw een etl data pipeline die schoonmaakt en verrijkt onderweg
Python Data Engineer: web scraping, ETL pipelines en data verrijking
Niveau 2
Voldoet aan hoge prestatiecriteria en heeft een bewezen staat van dienst in het voldoen aan de verwachtingen van de klant.
Over deze dienst
Data komt uit zes verschillende plekken en geen ervan is het met elkaar eens. Een REST API, twee spreadsheets die iemand handmatig bijhoudt, een scraper output en een CRM-export met verschillende kolomnamen. Iemand besteedt een ochtend per week aan het in elkaar zetten ervan.
Wat de pipeline doet
- Haalt data uit websites, REST APIs, databases en bestanden
- Reinigt, dedupliceert en vormt om naar één schema dat jij bepaalt
- Verrijkt records met andere bronnen: bedrijfsgegevens, contacten, geodata
- Laadt in BigQuery, PostgreSQL, MySQL, Sheets of je CRM
- Loopt volgens een schema, georganiseerd in Airflow of n8n
Gemaakt zodat hij niet stilletjes faalt
- Probeer opnieuw en limieten op elke bron
- Validatie binnen de pipeline, zodat slechte rijen worden opgevangen voordat ze landen
- Waarschuwingen wanneer een run faalt of een veld leeg begint te worden
Ik heb de pipeline gebouwd achter meer dan 1 miljoen Amerikaanse advocaatprofielen, die onbemand draaien.
Je krijgt de werkende pipeline, de source code en setup-documentatie geschreven voor degene die het overneemt. Vertel me je bronnen en je bestemming, en ik maak een scope en offerte voordat je bestelt.
Mijn portfolio
Veelgestelde vragen
Automatische vertaling
Welke bronnen kun je verbinden?
Websites en scrapers, REST- en GraphQL-API's, PostgreSQL, MySQL, MongoDB, BigQuery, CSV- en Excel-bestanden, Google Sheets en de meeste CRM's via hun API. Als een bron een API of een pagina heeft, kan die meestal een bron zijn. Stuur me de lijst en ik bevestig het voordat ik een offerte maak.
Waar kan het de data laden?
BigQuery, PostgreSQL, MySQL, MongoDB, Google Sheets, S3 of platte bestanden. Als de bestemming een CRM of een app is in plaats van een datawarehouse, is dat een integratie en werkt hetzelfde. Vertel me wat de data daarna leest en ik schrijf in wat dat verwacht.
Hoe wordt het gepland en waar draait het?
Airflow wanneer de workflow echte afhankelijkheden tussen stappen heeft, n8n als het eenvoudiger is en je het wilt zien, en een gewone cron-job als geen van beide de overhead waard is. Het draait op jouw server of cloudaccount, dus er is geen afhankelijkheid van mij na overdracht.
Kun je twee tools integreren die niet met elkaar praten?
Ja, en dat is een veelvoorkomende versie van deze klus. Haal data uit één API, transformeer het naar wat de andere verwacht, push het, handel de fouten en de rate limits af, en plan het daarna. HubSpot, Airtable, Salesforce, Sheets en de meeste REST API's. Zapier of n8n waar die passen, op maat gemaakte Python waar dat niet het geval is.
Waarmee kun je records verrijken?
Bedrijfsgrootte, branche, locatie, website, gebruikte technologie, zakelijke e-mails en telefoonnummers, namen van beslissers en geocodering. Wat beschikbaar is, hangt af van de bron, dus ik vertel je vooraf welke velden realistisch ingevuld zullen worden voordat je bestelt, niet achteraf.
Krijg ik de code?
Ja, alles, gedocumenteerd, en jouw eigendom om aan te passen. De overdracht omvat de repository, een readme met installatie- en configuratie-instructies, de schema-definitie en de connectie-instellingen met jouw eigen credentials in plaats van die van mij.
Wat gebeurt er als een bron verandert en de pipeline stopt?
Het waarschuwt je, dat is het punt. Validatie wordt binnen de pipeline uitgevoerd in plaats van erna, dus een bron die begint met lege velden te retourneren, faalt de run in plaats van stilletjes nulls in je warehouse te laden. Premium omvat het monitoren en de alert-instellingen.
Kun je het monitoren en onderhouden na levering?
Premium omvat monitoring en alerting bij overdracht. Voortgezet onderhoud, waarbij ik de alerts in de gaten houd en storingen verhelp, is een aparte maandelijkse afspraak. De meeste klanten nemen de code en draaien het zelf, daarom zijn de documentatie geschreven voor een vreemde in plaats van voor jou.
Hoeveel data kan het verwerken?
De grootste enkele klus verwerkte meer dan 100M JSON-bestanden tot analyseklare CSV's. Volume is meestal een ontwerpvraag in plaats van een limiet: batching, incrementele loads en waar de transformatie plaatsvindt. Vertel me de rijnummers en de frequentie en ik vertel je de vorm.
Dit lijkt duur. Is er een kleinere versie?
Ja. Als je één bron wilt ophalen en op een schema naar één bestemming wilt sturen, de Basic service dekt dat en verder is niets nodig. Als je de data één keer wilt hebben in plaats van herhaald, is mijn scraping dienst een tiende van de prijs en het juiste antwoord. Ik zeg dat eerlijk in plaats van je te proberen op te voeren.
