Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 자바
- Resources
- jQuery
- 아이콘
- Activity
- Java
- 프로그래밍
- java 8
- 웹개발
- 제이쿼리
- 영성
- 회원가입
- CSS
- Selector
- 안드로이드 AVD
- Android
- #청주주님의교회
- 생명주기
- 게시판
- Intent
- androidstudio
- 안드로이드
- TinyMCE
- JavaScript
- 주님의교회
- 글쓰기
- Spring
- 청주
- 인텐트
- 에디터
Archives
- Today
- Total
공부하는 블로그
Spark의 RDD 의 문제점 본문
Spark의 RDD 의 문제점
매 Job(종단 함수)마다, 파일 읽는 작업부터 시작함 -> 파일에 변화가 없음에도, 매번 파일을 읽어 비효율적인 처리가 이루어진다.
그래서 RDD 영속화를 통해 파일을 읽은 DDD를 메모리 또는 디스크에 보존한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | // 연도와 선수 기준 그룹하기 eraRecord.groupBy(tuple -> new Tuple2<>(tuple._2(), tuple._1())) // ((1907,clarkwa01),[(clarkwa01,1907,6.23), (clarkwa01,1907,1.99)]) .map(tuple -> { String year = tuple._1._1; String playerID = tuple._1._2; double averageEra = StreamSupport.stream(tuple._2.spliterator(), true) averageEra = Math.round(averageEra * 100) / 100; return new Tuple3<>(playerID, year, averageEra); }) .collect() .stream() .sorted((tuple1, tuple2) -> { int playerSort = tuple1._1().compareTo(tuple2._1()); return playerSort != 0 ? playerSort : tuple1._2().compareTo(tuple2._2()); }) .forEach(System.out::println); // Java 8 에서 GroupBy 하기 .collect( Collectors.groupingBy(tuple1 -> tuple1._1) ) // Group by 후에 Iterable 이 된 value 를 다시 Stream 으로 바꾸기 StreamSupport.stream(tuple._2.spliterator(), true) // Group by 후에 Iterable 이 된 value 를 다시 List 로 바꾸기 List<Tuple4<Integer, String, String, Integer>> list = new ArrayList<>(); iter.spliterator().forEachRemaining(list::add); // JavaRDD 를 JavaPairRDD 로 바꾸기 .mapToPair(tuple -> tuple) // JavaPairRdd 를 flatMap 하기 .flatMapValues(iter -> { List<Tuple4<Integer, String, String, Integer>> list = new ArrayList<>(); iter.spliterator().forEachRemaining(list::add); return list; }) | cs |
'Develop > Spark' 카테고리의 다른 글
Spark 9일차 (0) | 2017.11.16 |
---|---|
Kafka 와 Zookeeper 설치하기 (0) | 2017.11.16 |
Spark 예제 1 (0) | 2017.11.16 |
Apache spark 소개 및 실습(시작하기) (0) | 2017.11.16 |
Spark 예제 0 (0) | 2017.11.07 |