복붙노트

[HADOOP] Hdfs에서 CSV 파일을 읽는 방법은 무엇입니까?

HADOOP

Hdfs에서 CSV 파일을 읽는 방법은 무엇입니까?

CSV 파일에 내 데이터가 있습니다. HDFS에있는 CSV 파일을 읽고 싶습니다.

누구나 코드를 도와 줄 수 있습니까 ??

나는 hadoop을 처음 사용합니다. 미리 감사드립니다.

해결법

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

    1.이에 필요한 클래스는 FileSystem, FSDataInputStream 및 Path입니다. 클라이언트는 다음과 같아야합니다.

    이에 필요한 클래스는 FileSystem, FSDataInputStream 및 Path입니다. 클라이언트는 다음과 같아야합니다.

    public static void main(String[] args) throws IOException {
            // TODO Auto-generated method stub
    
            Configuration conf = new Configuration();
            conf.addResource(new Path("/hadoop/projects/hadoop-1.0.4/conf/core-site.xml"));
            conf.addResource(new Path("/hadoop/projects/hadoop-1.0.4/conf/hdfs-site.xml"));
            FileSystem fs = FileSystem.get(conf);
            FSDataInputStream inputStream = fs.open(new Path("/path/to/input/file"));
            System.out.println(inputStream.readChar());         
        }
    

    FSDataInputStream에는 몇 가지 읽기 메소드가 있습니다. 필요에 맞는 것을 선택하십시오.

    MR 인 경우 훨씬 쉽습니다.

            public static class YourMapper extends
                        Mapper<LongWritable, Text, Your_Wish, Your_Wish> {
    
                    public void map(LongWritable key, Text value, Context context)
                            throws IOException, InterruptedException {
    
                        //Framework does the reading for you...
                        String line = value.toString();      //line contains one line of your csv file.
                        //do your processing here
                        ....................
                        ....................
                        context.write(Your_Wish, Your_Wish);
                        }
                    }
                }
    
  2. ==============================

    2.mapreduce를 사용하려면 TextInputFormat을 사용하여 한 줄씩 읽고 매퍼의 map 함수에서 각 줄을 구문 분석 할 수 있습니다.

    mapreduce를 사용하려면 TextInputFormat을 사용하여 한 줄씩 읽고 매퍼의 map 함수에서 각 줄을 구문 분석 할 수 있습니다.

    다른 옵션은 파일에서 데이터를 읽기위한 CSV 입력 형식을 개발하거나 개발하는 것입니다.

    여기에 하나의 오래된 자습서가 있습니다 http://hadoop.apache.org/docs/r0.18.3/mapred_tutorial.html 논리는 새로운 버전에서 동일합니다

    파일에서 데이터를 읽는 데 단일 프로세스를 사용하는 경우 다른 파일 시스템에서 파일을 읽는 것과 동일합니다. https://sites.google.com/site/hadoopandhive/home/hadoop-how-to-read-a-file-from-hdfs에 좋은 예가 있습니다.

    HTH

  3. from https://stackoverflow.com/questions/17145463/how-to-read-a-csv-file-from-hdfs by cc-by-sa and MIT license