2017-10-12 4 views
0

J'ai 800 millions de fichiers sous gs: /// path/to /directory/2017-{01..07}* supprimer, utilisez cette course multi-threading supprimer récursiveCloud Storage: supprime tous les fichiers d'un dossier dans un dossier. Gs: // <bucket> /path/to/directory/2017-{01..07}*

$ gsutil -m rm -r gs://<bucket>/path/to/directory/2017-{01..07}* 

sous bash élargirait à gsutil -m rm -r gs://<bucket>/path/to/directory/2017-01* gs://<bucket>/path/to/directory/2017-02* gs://<bucket>/path/to/directory/2017-03* ... gs://<bucket>/path/to/directory/2017-07*

mais il indique la vitesse de suppression à 550/s ; donc, pour supprimer tous les 800 millions de fichiers aurait besoin de 16 jours, est trop lent, merveille est-il un moyen plus rapide?

Répondre

1

Vous pouvez répartir le traitement sur plusieurs machines. Par exemple, avoir des scripts si

  • ordinateur1 ne gsutil -m rm -r gs://<bucket>/path/to/directory/2017-01*
  • machine2 ne gsutil -m rm -r gs://<bucket>/path/to/directory/2017-02*
  • etc.

qui vous donnerait ~ 12x speedup. Vous pourriez le rendre encore plus rapide si vous partitionnez les données à supprimer de plusieurs façons.