2017-09-26 1 views
1

Je souhaite accéder à un système de fichiers local via l'API HDFS. Je donne les résultats suivants:Comment spécifier le système de fichiers local dans l'API HDFS?

String filename; 
//... 
Path p = new Path(filename); 
p.getFileSystem(new Configuration()).create(p); 

Le problème est que j'ai noeud HDFS sur la même machine et quand je l'appelle p.getFileSystem(new Configuration()).create(p); il tente de créer un fichier HDFS, pas un fichier local. Est-il possible d'accéder à un local système de fichiers via p.getFileSystem(new Configuration()).create(p)?

Répondre

1

Nom du fichier doit être qualifié avec file://

String filePath="file:///tmp/test.txt"; 
    public void createFile(String path,Configuration conf) throws IOException { 
     FileSystem fs = FileSystem.get(URI.create(path), conf); 
     fs.create(new Path(path)); 
     fs.close(); 
    } 

Works pour S3, HDFS et local