본문 바로가기

Total220

[자바8 람다의 힘] 4장 람다 표현식을 이용한 설계 이 글은 "자바 8 람다의 힘" 책을 정리한 글입니다. Chapter 4. 람다 표현식을 이용한 설계 앞에서 다른 내용들만 봐도 람다를 이용하여 코드를 좀 더 간결하고 읽기 쉽게 작성할 수 있다는 것을 알았다. 이 장에서는 람다 표현식을 사용하여 여러가지 패턴이나 설계들을 구현하는 방법에 대해서 알아보자. 1. 전략패턴(Strategy Pattern) 클래스를 생성하는 이유 중 하나는 코드를 재사용하기 위함이다. 좋은 의도이긴 하나 항상 그런 것은 아니다. 자산의 총합을 구하는 예제를 통해 클래스 내의 코드 재사용성을 향상시켜 보자. 먼저 Asset 클래스를 생성한다. public class Asset { public enum AssetType { BOND, STOCK }; private final As.. 2016. 2. 10.
Hadoop shell 사용법 http://hadoop.apache.org/docs/r0.20.0/hdfs_shell.html Overview The FileSystem (FS) shell is invoked by bin/hadoop fs . All FS shell commands take path URIs as arguments. The URI format is scheme://autority/path. For HDFS the scheme is hdfs, and for the local filesystem the scheme is file. The scheme and authority are optional. If not specified, the default scheme specified in the configuration i.. 2016. 2. 10.
Hadoop 에서 작은 크기의 파일을 처리하는 방법 Hadoop 은 기본적으로 Input 파일 갯수만큼 Map Task 가 생성된다. 만약 작은 파일이 엄청 많다면? Block Size 이하의 파일들이 많은 경우는? block size(64MB) 보다 작은 파일이 여러 개 더라도 Map Task 는 파일 당 하나씩 생성된다. 그렇다면 어떻게 처리하는 것이 좋을까? http://blog.recopick.com/24 위 블로그에 잘 정리되어 있다. 결론만 정리해보면 아래와 같다. hdfs 에 저장할 때, 파일 내용을 append 하는 방법 작은 파일들을 하나로 합치는 작업을 주기적으로 실행하는 방법 hadoop archive (har) 파일을 이용하는 방법 파일 이름과 파일 내용을 각각 키와 값으로 해서 sequence file 로 저장하는 방법 Combin.. 2016. 2. 10.
Partition Range Iterator VS Partition Range ALL Oracle Query Plan 을 확인하다보면 Partition Range Iterator 와 Range ALL 플랜을 접하게 된다. 무슨 차이가 있을까? Partition 이 무엇인지는 구글링 해보면 많이 확인 할 수 있다. 테이블 또는 인덱스를 실제로 나눠져 저장되지만, 논리적으로 하나의 테이블/인덱스로 관리하기 위해 사용된다. 성능 상 이점 또한 있다. 자세한 설명은 아래 링크를 참고하자. https://docs.oracle.com/cd/B28359_01/server.111/b32024/partition.htm 이를 알기 위해서는 Partition Pruning 개념을 먼저 알아야 한다. Partition Pruning 가지치기라는 의미를 갖고 있으며, 불필요한 Partition Access 를 .. 2016. 2. 10.