본문으로 바로가기

java8 stream map reduce(자바 스트림 맵 리듀스)

category Language/JAVA 2017.08.29 17:25

java stream map reduce(자바 스트림 맵 리듀스)



2004년 구글이 맵리듀스 심플리파이드 데이터 프로세싱 온 라지 클러스터스(MapReduce: Simplified Data Processing on Large Clusters)라는 논문을 발표하면서 '빅데이터'라는 키워드가 등장함과 동시에 '맵리듀스'라는 키워드도 같이 이슈가 되기 시작하였다.


해당 논문은 아래 링크

https://static.googleusercontent.com/media/research.google.com/en//archive/mapreduce-osdi04.pdf


자바8에서 stream()이 나오면서 이 스트림 안에서 .map()과 .reduce()를 사용할 수 있게 되었다.


맵( .map() )은 스트림안에있는 데이터들을 특정 연산을 수행한 결과 전체를 돌려준다.


1
2
3
4
5
6
7
8
@Test
public void list() throws Exception {
    String[] list = {"1""2""3"};
    int sum = Arrays.stream(list)
            .map(item -> Integer.parseInt(item))
            .reduce(0, (a, b) -> a + b);
    System.out.println(sum);
}
cs

위 코드에서 list에 string형으로 되어있는 숫자들은 .map에서 숫자로 바꾸어서 돌려준다.

리듀스( .reduce() )는 map안에 있는 데이터들을 처리해서 값으로 만들어준다.


end.





저작자 표시 비영리
신고

댓글을 달아 주세요