2017-10-01 1 views
0

je télécharger un fichier à partir du PC local en utilisant hdfs:Hadoop FileSystem supprime le fichier source

FileSystem fs = FileSystem.get(conf); 
boolean deleteSrc = true; 
String destFile = "/user/admin/my.csv"; 
fs.copyFromLocalFile(deleteSrc,new Path(inputFile), new Path(destFile)); 

Il en résulte dans le fichier en cours de suppression du stockage loca. Donc, la copie est en fait un 'mouvement'.
Comment télécharger une copie du fichier loca?

+1

Je pense que 'deleteSrc' devrait être réglé sur' false' si vous ne voulez pas supprimer du local –

Répondre

1

Veuillez noter que vous définissez le premier paramètre copyFromLocalFile call à true, ce qui entraîne la suppression du fichier local. Si vous souhaitez conserver le fichier local, définissez deleteSrc sur false.

Voici les détails de la méthode copyFromLocalFile.

public void copyFromLocalFile(boolean delSrc, 
           boolean overwrite, 
           Path[] srcs, 
           Path dst) 
         throws IOException 

Les fichiers src sont sur le disque local. Ajoutez-le au système de fichiers au nom dst donné. delSrc indique si la source doit être retirée

Paramètres:

delSrc - whether to delete the src 
overwrite - whether to overwrite an existing file 
srcs - array of paths which are source 
dst - path 

Lancers:

IOException - IO failure 

Vous pouvez également consulter this.