Je veux transférer le fichier du serveur ftp vers hdfs. J'ai essayé cette méthode: FTP TO HDFS, le code de démonstration comme suit:Pourquoi Hadoop FTPFileSystem.listStatus (chemin d'accès) ne fonctionne pas?
Configuration conf = new Configuration();
FTPFileSystem ftpfs = new FTPFileSystem();
ftpfs.setConf(conf);
ftpfs.initialize(new URI(ftpConnectStr), conf);
Path homeDirectory = ftpfs.getHomeDirectory();
System.out.println(homeDirectory.toString());
FileStatus[] fileStatuses = ftpfs.listStatus(new Path("/"));
for(FileStatus fileStatus : fileStatuses){
System.out.println(fileStatuses.length);
System.out.println(fileStatus.toString());
}
boolean test = ftpfs.mkdirs(new Path("test"));
System.out.println(test);
le ftpfs.listStatus(new Path("/"))
ne fonctionne pas, il ne montre rien, mais le serveur ftp a deux répertoires et ftpfs.mkdirs(new Path("test"))
fonctionnent bien, le résultat en cours d'exécution programme comme suit:
et le serveur ftp dirctory comme suit:
J'ai cherché sur google, mais je trouve un peu d'information. Je ne sais pas pourquoi. Si vous pouvez m'aider, je serai très reconnaissant, merci
@MartinPrikryl https://hadoop.apache.org/docs/r2.4.1/api/org/apache/hadoop/fs/ftp/FTPFileSystem.html#listStatus(org.apache.hadoop.fs. Chemin) – Smittey
Pouvez-vous nous montrer un fichier journal Hadoop? –
Quelles sont les autorisations de fichiers sur les fichiers dans le dossier ftp? Le processus exécutant votre logiciel peut-il les voir? A-t-il les bonnes permissions? Donnez-lui un test rapide en mettant un fichier fictif là avec chmod 777 ou quelque chose à confirmer – Smittey