2017-08-22 1 views
0

Je veux télécharger plusieurs fichiers depuis un serveur de dossier de partage de Windows (par exemple // nom_serveur/dossier /) à mon HDFS en utilisant JavaHadoop Java - copie de fichiers de partage Windows serveur de dossiers à HDFS

liste des méthodes I ont essayé

  • org.apache.hadoop.fs.FileUtil Définir le chemin d'entrée = // nom_serveur/dossier/ il dit java.io.FileNotFoundException: fichier // nom_serveur/dossier/n'existe pas

  • FileSystem.copyFromLocalFile (je pense que cela est du serveur Hadoop local serveur HDFS)

  • IOUtils.copyBytes même que le fichier FileUtil >> n'existe pas

  • simple File.renameTo même que FileUtil >> fichier n'existe pas

    Chaîne source_path = "\\ nom_serveur \ dossier \ xxx.txt";

    cordes hdfs_path = "hdfs: // HADOOP_SERVER_NAME: Port/monfichier/xxx.txt";

    Fichier srcFile = nouveau Fichier (chemin_source);

    Fichier dstFile = new File (hdfs_path);

    srcFile.renameTo (dstFile);

Dois-je créer un FTP ou utiliser FTPFileSystem?

Ou quelqu'un a une meilleure solution ou Exemple de code

vous remercie

Répondre

0

FileSystem méthode a copyFromLocal:

import org.apache.hadoop.conf.Configuration; 
import org.apache.hadoop.fs.FileSystem; 

Configuration configuration = new Configuration(); 
configuration.set("fs.defaultFS", "hdfs://abc:9000"); 

FileSystem fs= FileSystem.get(configuration); 
fs.copyFromLocalFile(new Path("/source/directory/"), 
    new Path("/user/hadoop/dir")); 
+0

J'ai testé la méthode copyFromLocalFile par ce code échantillon 'org.apache d'importation. hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; Configuration conf = new Configuration(); \t \t conf.set ("fs.defaultFS", "HDFS: // myhdp: 9000"); FileSystem fs = FileSystem.get (conf); fs.copyFromLocalFile (nouveau chemin ("\\\\ nom_serveur \\ dossier \\ xxx.txt"), \t \t \t \t \t \t \t \t nouveau chemin ("/ tmp/myusr/dstfolder/xxx.txt")); ' et quand je l'ai exécuté sur le serveur hadoop il obtient le fichier non trouvé ' java.io.FileNotFoundException: Fichier \\ nom_serveur \ dossier \ xxx.txt n'existe pas' – hdpuser222