복붙노트

[HADOOP] 자바 S3에서 뭐 이따위로 압축 파일을 읽는 방법

HADOOP

자바 S3에서 뭐 이따위로 압축 파일을 읽는 방법

하둡에서 현재 우리가 실행하는 맵리 듀스 작업이있는 출력은 SnappyCompression로 압축된다. 그런 다음 우리는 S3에 출력 파일을 이동하고있다. 지금은 자바를 통해 S3에서 압축 파일을 읽고 싶어.

해결법

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

    1.나는 S3에서 스마트 한 압축 파일을 읽을 수있는 해답을 발견했다. 먼저 S3에서 개체의 콘텐츠를해야한다. 그리고 파일을 압축 해제.

    나는 S3에서 스마트 한 압축 파일을 읽을 수있는 해답을 발견했다. 먼저 S3에서 개체의 콘텐츠를해야한다. 그리고 파일을 압축 해제.

        S3Object s3object = s3Client.getObject(new GetObjectRequest(bucketName,Path));
        InputStream inContent = s3object.getObjectContent();
        CompressionCodec codec = (CompressionCodec) ReflectionUtils.newInstance(SnappyCodec.class, new Configuration());
        InputStream inStream = codec.createInputStream(new BufferedInputStream(inContent));
        InputStreamReader  inRead = new InputStreamReader(inStream);
        BufferedReader br = new BufferedReader(inRead);
        String line=null;
        while ((line = br.readLine()) != null){
            system.out.println(line);
        }   
    
  2. from https://stackoverflow.com/questions/29816067/how-to-read-snappy-compressed-file-from-s3-in-java by cc-by-sa and MIT license