복붙노트

[HADOOP] 입력으로 이미지와 맵리 듀스 작업을 만듭니다

HADOOP

입력으로 이미지와 맵리 듀스 작업을 만듭니다

하둡과 맵리 듀스의 새로운 사용자는, 나는 이미지를 어느 정도 할 수있는 맵리 듀스 작업을 생성하고 싶습니다. 그렇다면 내가? 맵리 듀스 입력으로 이미지를 패스포트 수 있다면 내가하고 싶은 이유는 알고? 예를 들어 모든 종류의

감사

해결법

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

    1.이 네트워크 직렬화에 최적화 된 데이터 유형의 특정 유형을 사용하기 때문에 아니 .. 당신은 맵리 듀스 작업에 이미지를 직접 전달할 수 없습니다. 나는 영상 처리 전문가가 아니라고하지만 난 HIPI 프레임 워크를 살펴 가지고 추천 할 것입니다. 편리하게 MapReduce의 틀 위에 화상 처리를 허용한다.

    이 네트워크 직렬화에 최적화 된 데이터 유형의 특정 유형을 사용하기 때문에 아니 .. 당신은 맵리 듀스 작업에 이미지를 직접 전달할 수 없습니다. 나는 영상 처리 전문가가 아니라고하지만 난 HIPI 프레임 워크를 살펴 가지고 추천 할 것입니다. 편리하게 MapReduce의 틀 위에 화상 처리를 허용한다.

    당신이 정말로 그것을 기본 하둡 방법을 수행하려는 경우 또는, 먼저 하둡 시퀀스 파일에 이미지 파일을 변환 한 다음 파일을 처리 할 SequenceFileInputFormat를 사용하여이 작업을 수행 할 수 있습니다.

  2. ==============================

    2.예, 당신은 완전히이 작업을 수행 할 수 있습니다.

    예, 당신은 완전히이 작업을 수행 할 수 있습니다.

    제한된 정보 제공과 함께, 난 단지 당신에게 매우 일반적인 대답을 줄 수 있습니다.

    어느 쪽이든, 당신은해야합니다 : 1) 대신 TextInputFormat 및 SequenceFileInputFormat 같은 HDFS 위치 (에있는 파일의 청크를 복용 할 사용자 정의 InputFormat)를 작성해야합니다, 실제로 각 맵 작업 이미지의 HDFS 경로 이름에 전달합니다. 그에서 이미지를 읽는 것은 너무 어렵지 않을 것입니다.

    이 이미지는 프레임 워크를 통해 주위에 전달되는 줄의 위상을하려는 경우에 필요합니다 : 당신이 이미지에 키 입력하는 경우 2) 당신은) 쓰기 가능을 구현하는 "ImageWritable"클래스를 만들 필요가 (또는 WritableComparable 것입니다. 당신의 쓰기 () 메소드에서는 바이트 배열로 이미지를 직렬화해야합니다. 이 작업을 수행 할 때, 내가 무엇을 할 것이다 당신이 쓰는거야 배열의 크기를 int / 긴 출력에 최초의 기록이다. 마지막으로, 바이트로 배열을 기록 할 수 있습니다.

    당신의 읽기 () 메소드에서 읽을 수 있습니다 int 형 /,이 크기의 바이트 배열을 만든 다음의 길이까지 당신의 바이트 배열에 완전히 바이트를 읽어 (이미지의 페이로드를 설명 할) 첫 번째 긴 당신이 캡처 한 것으로 긴 지능 /.

    난 당신이 무슨 일을하는지 전혀 모르겠어요,하지만 난 그것에 대해 가고 싶어 어떻게입니다.

  3. from https://stackoverflow.com/questions/16368512/create-mapreduce-job-with-an-image-as-an-input by cc-by-sa and MIT license