본문 바로가기

책번역3

[자바8 람다의 힘] 4장 람다 표현식을 이용한 설계 이 글은 "자바 8 람다의 힘" 책을 정리한 글입니다. Chapter 4. 람다 표현식을 이용한 설계 앞에서 다른 내용들만 봐도 람다를 이용하여 코드를 좀 더 간결하고 읽기 쉽게 작성할 수 있다는 것을 알았다. 이 장에서는 람다 표현식을 사용하여 여러가지 패턴이나 설계들을 구현하는 방법에 대해서 알아보자. 1. 전략패턴(Strategy Pattern) 클래스를 생성하는 이유 중 하나는 코드를 재사용하기 위함이다. 좋은 의도이긴 하나 항상 그런 것은 아니다. 자산의 총합을 구하는 예제를 통해 클래스 내의 코드 재사용성을 향상시켜 보자. 먼저 Asset 클래스를 생성한다. public class Asset { public enum AssetType { BOND, STOCK }; private final As.. 2016. 2. 10.
Learning Spark Chapter. 10 Spark Streaming RDD 개념을 갖고 있는 Spark 와 유사하게 Spark Streaming 은 DStream 또는 Discretized Streams 라고 불리는 추상개념을 갖고 있다. DStream 이란? 시간 흐름에 따른 순차적 데이터를 의미한다. 내부적으로 DStream 은 각 시점에 RDD 시퀀스이다. DStream 은 Flume, Kafka 또는 HDFS 같은 많은 Input 유형으로 부터 생성될 수 있다. DStream 에는 두 가지 유형의 Operation 이 제공된다. Transformation DStream 을 생성(파생) Output 외부 데이터 저장소에 결과 저장 기본적으로 RDD 에 제공되는 Operation 과 시간 기반의 Operation(예를 들면 sliding window) 을 제공한다. .. 2015. 8. 20.
Learning Spark Chapter. 9 Spark SQL 구조적 데이터(Structured Data)와 반구조적(SemiStructured Data) 를 다룰 수 있는 Spark SQL 과 Spark Interface 를 소개한다. 구조적 데이터란? Schema 를 갖고 있는 데이터를 의미한다. 만약 구조적 데이터를 다룰 때, Spark SQL 을 사용하면 쉽고, 효율적으로 다룰 수 있다. 다양한 데이터 유형 처리 가능 SQL 을 사용하여 쿼리 가능 RDD 와 SQL Table 을 Join 하는 기능을 포함하여 기존 코드(spark-core)와 통합이 가능 이런 기능들을 제공하기 위해 Spark SQL 은 SchemaRDD 를 사용한다. 이는 Row 객체의 RDD 이며, 각 아이템은 Record 를 의미한다. SchemaRDD 는 기존 RDD 와 유사해 보이지.. 2015. 7. 31.