Je dois traiter certains fichiers dans un compartiment S3 à l'aide de hive. Le problème est que hive n'aime apparemment pas utiliser les compartiments comme des dossiers. J'ai donc décidé de créer un dossier dans un autre compartiment et de copier les fichiers via s3cmd.
Ceci est ma commande:
s3cmd -v cp s3://main.bucket/\* s3://temp.bucket/input/
s3cmd déclare alors promptement que j'ai X fichiers à transférer (généralement de l'ordre de 5k ++), puis après avoir copié un fichier, me tombe dessus avec l'erreur suivante:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
An unexpected error has occurred.
Please report the following lines to:
[email protected]
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Problem: KeyError: 'dest_name'
S3cmd: 1.0.1
Traceback (most recent call last):
File "/usr/local/bin/s3cmd", line 2006, in <module>
main()
File "/usr/local/bin/s3cmd", line 1950, in main
cmd_func(args)
File "/usr/local/bin/s3cmd", line 614, in cmd_cp
subcmd_cp_mv(args, s3.object_copy, "copy", "File %(src)s copied to %(dst)s")
File "/usr/local/bin/s3cmd", line 604, in subcmd_cp_mv
dst_uri = S3Uri(item['dest_name'])
KeyError: 'dest_name'
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
An unexpected error has occurred.
Please report the above lines to:
[email protected]
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Maintenant, ça craint.
Pensant que le problème résidait dans le transfert de seau à compartiment, j'ai décidé de créer un dossier à l'intérieur de main.bucket, et de simplement tout copier dedans. , car à ce moment-là j'étais à bout de force.
La nouvelle commande est la suivante:
s3cmd -v cp s3://main.bucket/\* s3://main.bucket/111a/
Encore une fois, il n'a copié qu'un fichier et m'a donné la même erreur.
Qu'est-ce que cela pourrait signifier? Comment puis-je réparer ça?
Merci.
Post-scriptum Si tout échoue, je suppose que je pourrais le faire via l'interface graphique d'AWS, mais la vérification manuelle de chaque case à cocher est un problème. À ma connaissance, si vous faites défiler l'écran suffisamment longtemps, les fichiers que vous avez vérifiés ci-dessus seront bêtement oubliés, ce qui vous obligera à le faire à pas de tortue.
S'il existe une méthode pour les sélectionner tous en même temps et les copier / coller dans un nouveau répertoire, ce serait génial.
la source