Home » Data Marketing » Comment accélérer la backfill des transferts de données avec Cloud Shell ?

Comment accélérer la backfill des transferts de données avec Cloud Shell ?

Utiliser Cloud Shell pour backfiller les transferts de données BigQuery permet de contourner les limitations natives de séquencement et de gain de temps. Cette méthode réduit drastiquement les délais d’ingestion pour Google Ads ou Facebook Ads, en automatisant via des scripts CLI.

3 principaux points à retenir.

  • Backfill natif lent : Google Ads impose 35 min entre chaque job, Facebook Ads limite à 1 jour et un job à la fois.
  • Cloud Shell pour l’accélération : Exécution parallèle ou fréquente des jobs, sans intervention manuelle ni délai fixe.
  • Gain concret : Réduction du temps d’attente de transferts de jours à heures, utile pour les analystes et ingénieurs data pressés.

Pourquoi les backfills de transferts de données sont-ils si lents ?

Pourquoi les backfills de transferts de données sont-ils si lents ? C’est une question qui taraude plus d’un analyste data ou marketer, et la réponse se cache dans les limites imposées par le Google BigQuery Data Transfer Service. Pour en parler concrètement, prenons l’exemple de Google Ads : lors des transferts de données, les jobs sont programmés avec un intervalle de 35 minutes. Oui, vous avez bien entendu, 35 minutes. C’est comme si on vous disait de jouer à la roulette russe après chaque mise, en attendant que le feu vert du système s’allume. À ce rythme, même une tortue pourrait prendre un ascenseur et arriver plus vite.

Mais le plus insupportable reste à venir : regardons la situation des données Facebook Ads. Ici, vous ne pouvez exécuter qu’un seul job de backfill d’une journée à la fois. Si vous souhaitez ingérer deux mois de données, il va falloir se munir de patience et de courage, car vous devrez déclencher manuellement un job toutes les cinq minutes, soit environ 60 fois. Un vrai casse-tête qui ferait pleurer n’importe quel amateur de productivité.

Cette lenteur a des conséquences pratiques lourdes. Imaginez-vous attendant plusieurs jours, voire des heures, pour que toutes vos données soient chargées. Entre temps, vous êtes dans l’attente inutile et la charge manuelle pour chacun des jobs en queue. La productivité de vos tâches s’effondre. Cette contrainte limite également les périodes de données que vous pouvez ingérer, ce qui peut affecter la prise de décision dans des environnements où chaque minute compte.

Pour les équipes data et marketing d’une entreprise, cela équivaut à se tirer une balle dans le pied. Ces limitations nuisent profondément à l’efficacité, mais ce n’est pas une fatalité. En comprenant ces freins, on peut voir les opportunités d’automatiser certains processus, certes, mais aussi de mieux gérer nos attentes et notre temps. Parfois, il suffit d’une petite astuce technique pour transformer cette galère en succès. Pour plus de détails sur les performances, vous pouvez consulter ce lien, qui pourrait vous offrir une bouffée d’air frais dans cet océan de lenteur.

Comment Cloud Shell simplifie-t-il la gestion des transferts en backfill ?

Cloud Shell, c’est un peu comme la baguette magique des data analysts et des ingénieurs. Imaginez une interface en ligne de commande qui vous suit partout, prête à exécuter toutes vos commandes GCP (Google Cloud Platform) comme un bon vieux sorcier. La beauté avec Cloud Shell, c’est qu’il vous permet de neutraliser tout ce temps perdu à attendre que des jobs de transfert de données s’exécutent, contrairement à l’interface web qui impose des pauses pénibles.

Pour vous donner un exemple concret, prenons les transferts de données de Google Ads. Si vous vous contentez de ceux-ci via l’interface standard, vous devrez attendre 35 minutes entre chaque job. À ce rythme, pour backfiller six à huit mois de données, vous passerez vos journées à taper « refresh » sur la page. Du coup, avec Cloud Shell, c’est simple : vous pouvez déclencher plusieurs jobs BigQuery Data Transfer simultanément, ou même en scriptant !

Voilà une méthode rapide pour automatiser la création de ces jobs multiples avec quelques commandes gcloud. Supposons que l’on souhaite backfiller les données de Google Ads pour un délai de deux mois. Voici un exemple de script que vous pourriez utiliser :

#!/bin/bash
# Backfilling Google Ads transfers
for i in {0..59}
do
   gcloud bigquery transfers create \
   --data-source="google_ads" \
   --display-name="Ads Transfer $(date -d "today - $i days" +%Y-%m-%d)" \
   --params='{"ad_network_type":"google_ads","start_date":"$(date -d "today - $i days" +%Y-%m-%d)","end_date":"$(date -d "today - $i days" +%Y-%m-%d)"}' \
   --schedule="every 5 minutes"
   sleep 1
done

Ce petit script crée un job de transfert pour chaque jour de données, et les gére simultanément sans la nécessité de repasser par l’interface. Moins de temps à attendre, plus de données à analyser, c’est tout bénef !

En définitive, Cloud Shell s’affirme comme un allié de choix dans votre arsenal technologique. Son accessibilité genre « je suis partout, tout le temps » et sa puissance de scripting en font un outil incontournable pour tous ceux qui cherchent à maximiser leur efficacité. Pour découvrir davantage sur l’accélération des transferts de données, vous pouvez lire cet article fascinant sur les transferts de données.

Quels scripts et commandes utiliser pour backfiller efficacement avec Cloud Shell ?


On sait tous que le *backfilling*, c'est autant un art qu'une science, surtout quand il s'agit d'accélérer le processus de transfert des données. Alors, quels scripts et commandes utiliser pour rendre cela plus fluide avec le Cloud Shell? Accrochez-vous à votre tableau de bord, parce qu'on va plonger dans des exemples concrets.

Exemplaire de script pour la backfill :

#!/bin/bash

# Paramètres essentiels
SOURCE_PROJECT="mon_projet_source"
DESTINATION_PROJECT="mon_projet_destination"
DATASET_NAME="mon_dataset"
START_DATE="2023-01-01"
END_DATE="2023-01-10"

# Boucle pour déclencher des jobs à intervalles réduits
CURRENT_DATE="$START_DATE"

while [[ "$CURRENT_DATE" 

Dans cet exemple, on établit une boucle qui va créer un job pour chaque date entre le START_DATE et le END_DATE. Chaque commande gcloud s'assure qu'aucune seconde n'est perdue, en appuyant sur la touche "play" à chaque itération.

Maintenant, parlons des limitations natives que nous tentons d’éliminer avec ces scripts. Par exemple, avec la backfill pour les données Facebook Ads, on ne peut traiter qu'une seule journée à la fois, ce qui se traduit par une série interminable de clics manuels pour vous, cher analyste. En revanche, le Cloud Shell vous permet d'enclencher une série de charges en un clin d'œil, frisant la magie !

Pour notre tableau récapitulatif :

Limitation Avantage via Cloud Shell automatisé
Chargement manuel de un à un Batch processing automatisé avec boucle
Attente de 35 minutes entre les jobs Processus en continu sans attente
Aucune planification flexible Personnalisation totale via scripts

Pour approfondir sur le Cloud Shell et ses fonctions, n'hésitez pas à checker la documentation officielle. Avec ces outils à portée de main, vous voilà armé pour transformer vos transferts de données en un jeu d'enfant.

Peut-on enfin s’affranchir des limites natives grâce à Cloud Shell pour backfill ?

Utiliser Cloud Shell pour orchestrer les transferts de données en backfill représente un vrai gain de temps et d’efficacité. Ce simple tournant technique évite de devoir patienter plusieurs heures ou jours pour voir toutes les données disponibles dans BigQuery, notamment pour Google Ads et Facebook Ads. En automatisant les jobs via la CLI, on supprime une charge manuelle fastidieuse et on accélère considérablement l’ingestion. Pour les analystes, ingénieurs data ou marketers, c’est un moyen pragmatique d'améliorer leurs workflows sans attendre. Il vous suffit juste d’adopter un peu de scripting pour casser ces limites, et récupérer enfin vos données en masse, vite et sans effort inutile.

FAQ

Pourquoi les transferts de données Google Ads sont-ils si lents en backfill ?

Google impose un délai fixe de 35 minutes entre chaque job de transfert lors d’un backfill, ce qui ralentit fortement le chargement de grandes périodes de données. Cette limitation vise à éviter la surcharge du système, mais frustrante pour les utilisateurs.

Comment Cloud Shell permet-il d’accélérer ces backfills ?

Cloud Shell offre un accès en ligne de commande à l’interface GCP. On peut y lancer plusieurs jobs simultanément via des scripts automatisés, contournant ainsi les délais imposés via l’interface graphique traditionnelle.

Est-ce risqué de lancer plusieurs jobs en parallèle ?

À condition de respecter les quotas Google Cloud et d’éviter les collisions sur la même plage de données, cela est parfaitement sûr et efficace pour accélérer les backfills sans surcharge.

Peut-on utiliser cette méthode pour d’autres sources de données dans BigQuery ?

Oui, la méthode Cloud Shell pour automatiser les transferts peut être adaptée à la plupart des sources compatibles avec BigQuery Data Transfer Service, selon les limitations spécifiques de chaque source.

Faut-il des compétences avancées pour utiliser Cloud Shell dans ce cas ?

Non, une familiarité basique avec le terminal, les scripts bash, et la ligne de commande gcloud suffit. Des tutoriels et scripts pré-écrits facilitent grandement la prise en main.

 

 

A propos de l'auteur

Franck Scandolera est expert en data engineering et automatisation avec plus de dix ans d’expérience dans l’analytics et les infrastructures data. Responsable de l’agence webAnalyste et formateur reconnu, il maîtrise l’ingestion de données, les pipelines BigQuery, ainsi que l’automatisation via scripts et outils no-code. Sa pratique terrain dans l’ingestion rapide des données marketing et son expertise en Cloud Shell en font un interlocuteur aguerri sur l’optimisation des backfills de données publicitaires.

Retour en haut
ClickAIpro