Je vais concevoir un pipeline de données ETL qui nettoie et enrichit en cours de route
Ingénieur data Python : web scraping, pipelines ETL et enrichissement de données
Niveau 2
Répond à des critères de performance élevés et a fait ses preuves en matière de satisfaction clients.
À propos de ce service
Les données proviennent de six sources différentes et aucune ne concorde. Une API REST, deux feuilles de calcul que quelqu’un met à jour manuellement, une sortie de scraper, et une exportation CRM avec des noms de colonnes différents pour chacune. Quelqu’un passe une matinée par semaine à tout assembler.
Ce que le pipeline fait
- Extrait des sites web, des API REST, des bases de données et des fichiers
- Nettoie, déduplique et reformate selon un schéma que vous définissez
- Enrichit les enregistrements avec d’autres sources : données d’entreprise, contacts, géodonnées
- Charge dans BigQuery, PostgreSQL, MySQL, Sheets ou votre CRM
- Fonctionne selon un planning, orchestré avec Airflow ou n8n
Conçu pour ne pas échouer en silence
- Réessaie et limite le débit pour chaque source
- Validation intégrée au pipeline, pour que les mauvaises lignes soient détectées avant d’arriver
- Alertes en cas d’échec d’une exécution ou si un champ commence à arriver vide
J’ai créé ce pipeline pour gérer plus d’un million de profils d’avocats américains, en fonctionnement automatique.
Vous obtenez le pipeline opérationnel, le code source et la documentation d’installation pour celui qui le reprendra. Indiquez-moi vos sources et votre destination, et je vous ferai une estimation et un devis avant que vous passiez commande.
Mon portfolio
FAQ
Traduction automatique
Quelles sources pouvez-vous connecter ?
Sites web et scrapers, API REST et GraphQL, PostgreSQL, MySQL, MongoDB, BigQuery, fichiers CSV et Excel, Google Sheets, et la plupart des CRM via leur API. Si une source dispose d'une API ou d'une page, elle peut généralement être une source. Envoyez-moi la liste et je confirmerai avant de vous faire un devis.
Où peut-elle charger les données ?
BigQuery, PostgreSQL, MySQL, MongoDB, Google Sheets, S3 ou fichiers plats. Si la destination est un CRM ou une application plutôt qu’un entrepôt, c’est une intégration et cela fonctionne de la même manière. Dites-moi ce qui lit les données ensuite et j’écrirai dans ce que cela attend.
Comment est-elle programmée et où s’exécute-t-elle ?
Airflow lorsque le workflow a de vraies dépendances entre les étapes, n8n lorsque c’est plus simple et que vous souhaitez le voir, et une tâche cron simple lorsque aucune de ces options ne vaut l’effort. Elle s’exécute sur votre serveur ou votre compte cloud, donc il n’y a pas de dépendance à moi après la remise.
Pouvez-vous intégrer deux outils qui ne communiquent pas entre eux ?
Oui, c’est une version courante de ce travail. Récupérer via une API, transformer pour ce que l’autre attend, pousser, gérer les erreurs et les limites de taux, puis programmer. HubSpot, Airtable, Salesforce, Sheets et la plupart des API REST. Zapier ou n8n si cela convient, Python personnalisé si ce n’est pas le cas.
Avec quoi pouvez-vous enrichir des enregistrements ?
Taille de l’entreprise, secteur d’activité, localisation, site web, technologies utilisées, emails professionnels et numéros de téléphone, noms des décideurs, et géocodage. Ce qui est disponible dépend de la source, je vous dirai donc quels champs seront réalistement remplis avant votre commande plutôt qu’après.
Est-ce que j'obtiens le code ?
Oui, tout cela, documenté, et à votre disposition pour modification. La remise inclut le dépôt, un readme avec l’installation et la configuration, la définition du planning, et les paramètres de connexion avec vos propres identifiants plutôt que les miens.
Que se passe-t-il lorsqu’une source change et que le pipeline se casse ?
Il vous alerte, c’est le but. La validation se fait dans le pipeline plutôt qu’après, donc une source qui commence à renvoyer des champs vides échoue l’exécution au lieu de charger silencieusement des nulls dans votre entrepôt. La version premium inclut la surveillance et la configuration des alertes.
Pouvez-vous assurer la surveillance et la maintenance après livraison ?
La version premium inclut la surveillance et l’alerte lors de la remise. La maintenance continue, où je surveille les alertes et corrige les défaillances, est une prestation mensuelle séparée. La plupart des clients prennent le code et le font fonctionner eux-mêmes, c’est pourquoi la documentation est écrite pour un étranger plutôt que pour vous.
Quelle quantité de données peut-il gérer ?
Le plus gros travail traité a réduit plus de 100 millions de fichiers JSON en CSV prêt pour l’analyse. Le volume est généralement une question de conception plutôt qu’une limite : batching, chargements incrémentiels et lieu de la transformation. Donnez-moi le nombre de lignes et la fréquence, et je vous dirai la forme.
Cela semble coûteux. Existe-t-il une version plus petite ?
Oui. Si vous avez besoin d’une source unique chargée dans une destination unique selon un planning, la formule Basic suffit et rien d’autre n’est nécessaire. Si vous souhaitez récupérer les données une seule fois plutôt que de manière répétée, mon service de scraping coûte dix fois moins cher et c’est la bonne solution. Je vous le dirai plutôt que de vous vendre une option supplémentaire.
