복붙노트

[HADOOP] hdfs의 파일 경로

HADOOP

hdfs의 파일 경로

Hadoop File System에서 파일을 읽고 싶습니다.

파일의 올바른 경로를 얻으려면 hdfs의 호스트 이름과 포트 주소가 필요합니다.

그래서 마침내 파일의 경로는 다음과 같습니다.

Path path = new Path("hdfs://123.23.12.4344:9000/user/filename.txt")

이제 HostName = "123.23.12.4344"& 포트 : 9000을 추출하려고합니다.

기본적으로 Amazon EMR에서 FileSystem에 액세스하려고하지만 FileSystem fs = FileSystem.get (getConf ()); 나는 얻다 경로를 지원하는 파일 시스템을 얻기 위해 FileSystem.get (uri, conf)를 호출해야 할 때 FileSystem.get (conf)를 호출했을 수도 있습니다.  그래서 URI를 사용하기로 결정했습니다. (URI를 사용해야 함) URI에 액세스하는 방법을 모르겠습니다.

해결법

  1. ==============================

    1.두 가지 방법 중 하나를 사용하여 오류를 해결할 수 있습니다.

    두 가지 방법 중 하나를 사용하여 오류를 해결할 수 있습니다.

    1.

    String infile = "file.txt";
    Path ofile = new Path(infile);
    FileSystem fs = ofile.getFileSystem(getConf());
    

    2.

    Configuration conf = getConf();
    System.out.println("fs.default.name : - " + conf.get("fs.default.name"));
    // It prints uri  as : hdfs://10.214.15.165:9000 or something
    String uri = conf.get("fs.default.name");
    FileSystem fs = FileSystem.get(uri,getConf());
    
  2. from https://stackoverflow.com/questions/13577767/file-path-in-hdfs by cc-by-sa and MIT license